Freigeben über


MmIsDriverVerifyingByAddress-Funktion (wdm.h)

Die MmIsDriverVerifyingByAddress Routine überprüft, ob der durch die angegebene Bildadresse identifizierte Kernelmodustreiber überprüft wird, oder ruft einen Treiber auf, der von Driver Verifierüberprüft wird.

Syntax

LOGICAL MmIsDriverVerifyingByAddress(
  [in] PVOID AddressWithinSection
);

Parameter

[in] AddressWithinSection

Ein Zeiger auf die virtuelle Adresse innerhalb des Treiberimages. MmIsDriverVerifyingByAddress verwendet diese Adresse, um zu bestimmen, welcher Treiber überprüft werden soll.

Rückgabewert

MmIsDriverVerifyingByAddress gibt TRUE zurück, wenn sich der angegebene Treiber entweder in der Überprüfungsliste des Treibers befindet oder Aufrufe an Einstiegspunkte in einen Treiber importiert, der sich in der Treiberüberprüfungsliste befindet. Andernfalls gibt diese Routine FALSE-zurück.

Bemerkungen

Ein Kernelmodustreiber kann diese Routine aufrufen, um festzustellen, ob er oder ein anderer Treiber von Driver Verifierüberwacht wird. Driver Verifier überwacht Kernelmodustreiber, um illegale Funktionsaufrufe oder Aktionen zu erkennen, die das System möglicherweise beschädigt haben. Um zu überprüfende Treiber auszuwählen, können Sie die Befehlszeile Verifier oder Driver Verifier Managerverwenden. Weitere Informationen zum Hinzufügen von Treibern zur Überprüfungsliste finden Sie unter Auswählen der zu überprüfenden Treiber.

Eine ähnliche Routine, MmIsDriverVerifying, gibt an, ob ein treiber, der durch ein Treiberobjekt identifiziert überprüft wird, überprüft wird oder einen Treiber aufruft, der überprüft wird.

Eine weitere verwandte Routine, MmIsDriverSuspectForVerifier, gibt an, ob sich ein durch ein Treiberobjekt dargestellter Treiber in der Liste der zu überprüfenden Treiber befindet.

Wenn z. B. der Treiber A eine Importtabelle enthält, über die ein oder mehrere Einstiegspunkte in Treiber B aufgerufen werden, und der Treiber B in der Überprüfungsliste des Treibers enthalten ist, gibt MmIsDriverVerifyingByAddress(Aobj)TRUE- zurück und MmIsDriverSuspectForVerifier(Badr) gibt TRUE-zurück, wobei Aobj ein Zeiger auf das Treiberobjekt für A ist und Badr eine Adresse in Treiber B ist. Wenn der Treiber A nicht in der Liste der Treiberüberprüfung enthalten ist, gibt MmIsDriverSuspectForVerifier(Aobj)FALSE-zurück. Selbst wenn Treiber B keine Einstiegspunkte in allen Treibern aufruft, die sich in der Liste der Treiberüberprüfung befinden, gibt MmIsDriverVerifyingByAddress(Badr)TRUE- zurück, da Treiber B in der Liste der Treiberüberprüfung enthalten ist. Wenn sich ein Treiber C nicht in der Liste der Treiberüberprüfung befindet und keine Einstiegspunkte in den Treibern aufruft, die sich in der Liste der Treiberüberprüfung befinden, MmIsDriverVerifyingByAddress(Cadr) und MmIsDriverSuspectForVerifier(Cobj) beide FALSE-zurückgeben.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Verfügbar ab Windows Vista.
Zielplattform- Universal
Header- wdm.h (include Wdm.h)
Library NtosKrnl.lib
DLL- NtosKrnl.exe
IRQL- <=APC_LEVEL

Siehe auch

MmIsDriverSuspectForVerifier

MmIsDriverVerifying