Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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 |