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 |