IoIs32bitProcess-Funktion (wdm.h)
Die IoIs32bitProcess-Routine überprüft, ob der Absender der aktuellen E/A-Anforderung eine 32-Bit-Anwendung im Benutzermodus ist.
Syntax
BOOLEAN IoIs32bitProcess(
[in, optional] PIRP Irp
);
Parameter
[in, optional] Irp
Optionaler Zeiger auf den IRP, der die aktuelle E/A-Anforderung enthält. Beachten Sie, dass dies die ursprüngliche IRP sein muss, die vom E/A-Manager ausgestellt wurde. Wenn der Aufrufer eine schnelle E/A-Dispatchroutine ist (und daher kein IRP vorhanden ist), sollte der Aufrufer diesen Parameter auf NULL festlegen.
Rückgabewert
IoIs32bitProcess gibt TRUE zurück, wenn der Absender der aktuellen E/A-Anforderung ein 32-Bit-Benutzermodusprozess ist. Andernfalls wird FALSE zurückgegeben.
Hinweise
Treiber rufen IoIs32bitProcess auf, um zu bestimmen, ob eine E/A-Anforderung wahrscheinlich Datenelemente enthält, die konvertiert oder "thunked" werden müssen, bevor sie in einem 64-Bit-Treiber verwendet werden können.
Wenn der Irp-ParameterNULL ist und der Aufrufer im Kontext eines Benutzermodusprozesses ausgeführt wird, gibt IoIs32bitProcessTRUE zurück, wenn es sich um einen 32-Bit-Prozess handelt.
Wenn der Irp-Parameter nicht NULL ist, muss er auf einen IRP verweisen, der vom E/A-Manager im Auftrag eines Benutzermodusprozesses ausgestellt wurde. IoIs32bitProcess kann nicht verwendet werden, um vom Treiber zugewiesene IRPs zu überprüfen. Sowohl treiberseitig zugeordnete IRPs als auch Kernelmodustreiber werden als 64-Bit-bereit angenommen.
Weitere Informationen finden Sie unter Programmierprobleme für 64-Bit-Treiber.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar in 64-Bit-Versionen von Microsoft Windows XP und höheren 64-Bit-Versionen des Windows-Betriebssystems. |
Zielplattform | Universell |
Header | wdm.h (einschließlich Wdm.h, Ntddk.h, Ntifs.h) |
Bibliothek | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL |