Freigeben über


MmIsDriverVerifyingByAddress-Funktion (wdm.h)

Die MmIsDriverVerifyingByAddress-Routine überprüft, ob der Kernelmodustreiber, der durch die angegebene Imageadresse identifiziert wird, ü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 im Treiberimage. 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 Treiberüberprüfungsliste befindet oder Aufrufe von Einstiegspunkten in einen Treiber importiert, der sich in der Treiberüberprüfungsliste befindet. Andernfalls gibt diese Routine FALSE zurück.

Hinweise

Ein Kernelmodustreiber kann diese Routine aufrufen, um zu bestimmen, 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 beschädigen könnten. Um treiber auszuwählen, die überprüft werden sollen, können Sie die Verifier-Befehlszeile oder den Treiberüberprüfungs-Manager verwenden. Weitere Informationen zum Hinzufügen von Treibern zur Treiberüberprüfungsliste finden Sie unter Auswählen der zu überprüfenden Treiber.

Eine ähnliche Routine, MmIsDriverVerifying, gibt an, ob ein von einem Treiberobjekt identifizierter Treiber überprüft wird oder ob ein Treiber aufgerufen wird, der überprüft wird.

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

Wenn Treiber A beispielsweise über eine Importtabelle verfügt, über die er einen oder mehrere Einstiegspunkte in Treiber B aufruft, und Treiber B in der Treiberüberprüfungsliste 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 Treiber A nicht in der Liste der Treiberüberprüfung enthalten ist, MmIsDriverSuspectForVerifier(Aobj) gibt FALSE zurück. Auch wenn Treiber B keine Einstiegspunkte in Treibern aufruft, die sich in der Treiberüberprüfungsliste befinden, gibt TRUE zurück, MmIsDriverVerifyingByAddress(Badr) da Sich Treiber B in der Treiberüberprüfungsliste befindet. Wenn ein Treiber C nicht in der Treiberüberprüfungsliste enthalten ist und keine Einstiegspunkte in Treibern aufruft, die sich in der Treiberüberprüfungsliste befinden, MmIsDriverVerifyingByAddress(Cadr) geben MmIsDriverSuspectForVerifier(Cobj) beide FALSE zurück.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar ab Windows Vista.
Zielplattform Universell
Header wdm.h (einschließen von Wdm.h)
Bibliothek NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <=APC_LEVEL

Weitere Informationen

MmIsDriverSuspectForVerifier

MmIsDriverVerifying