MmIsDriverVerifying-Funktion (wdm.h)
Die MmIsDriverVerifying Routine gibt an, ob der vom angegebenen Treiber objekt identifizierte Kernelmodustreiber überprüft wird, oder ruft einen Treiber auf, der von Driver Verifierüberprüft wird.
Syntax
LOGICAL MmIsDriverVerifying(
[in] _DRIVER_OBJECT *DriverObject
);
Parameter
[in] DriverObject
Ein Zeiger auf eine DRIVER_OBJECT Struktur, die ein Treiberobjekt darstellt. Der Treiber empfängt diesen Zeiger als Eingabeparameter für seine DriverEntry Routine.
Rückgabewert
MmIsDriverVerifying 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 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, MmIsDriverVerifyingByAddress, gibt an, ob ein von einer Treiberbildadresse identifizierter Treiber überprüft wird oder einen Treiber aufruft, der überprüft wird. MmIsDriverVerifyingByAddress ab Windows Vista verfügbar ist.
Eine weitere verwandte Routine, MmIsDriverSuspectForVerifier, gibt an, ob ein treiber, der durch ein Treiberobjekt dargestellt wird, in der Liste der Treiber aufgeführt ist, die überprüft werden sollen. MmIsDriverSuspectForVerifier ab Windows 8 verfügbar ist.
Wenn z. B. der Treiber A über eine Importtabelle verfügt, über die ein oder mehrere Einstiegspunkte in Treiber B aufgerufen werden, und der Treiber B in der Überprüfungsliste des Treibers enthalten ist, gibt MmIsDriverVerifying(A)
TRUE- zurück und MmIsDriverSuspectForVerifier(B)
gibt TRUE-zurück. Wenn der Treiber A nicht in der Liste der Treiberüberprüfung enthalten ist, gibt MmIsDriverSuspectForVerifier(A)
FALSE-zurück. Selbst wenn Treiber B keine Einstiegspunkte in allen Treibern aufruft, die sich in der Liste der Treiberüberprüfung befinden, gibt MmIsDriverVerifying(B)
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, MmIsDriverVerifying(C)
und MmIsDriverSuspectForVerifier(C)
beide FALSE-zurückgeben.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Ab Windows 2000 verfügbar. |
Zielplattform- | Universal |
Header- | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
Library | NtosKrnl.lib |
DLL- | NtosKrnl.exe |
IRQL- | <= APC_LEVEL |