FltIs32bitProcess-Funktion (fltkernel.h)
Die FltIs32bitProcess-Routine überprüft, ob der Absender des aktuellen E/A-Vorgangs eine 32-Bit-Anwendung im Benutzermodus ist.
Syntax
BOOLEAN FLTAPI FltIs32bitProcess(
[in, optional] PFLT_CALLBACK_DATA CallbackData
);
Parameter
[in, optional] CallbackData
Zeiger auf die Rückrufdatenstruktur für den aktuellen E/A-Vorgang (FLT_CALLBACK_DATA). Dieser Parameter ist optional und kann NULL sein.
Rückgabewert
FltIs32bitProcess gibt TRUE zurück, wenn der Absender des aktuellen E/A-Vorgangs ein 32-Bit-Benutzermodusprozess ist, andernfalls FALSE .
Hinweise
Minifiltertreiber rufen FltIs32bitProcess auf, um zu bestimmen, ob eine E/A-Anforderung wahrscheinlich Datenelemente enthält, die konvertiert werden müssen, oder "thunked", bevor sie in einem 64-Bit-Treiber verwendet werden können. Weitere Informationen zu Thunking und anderen 64-Bit-Treiberproblemen finden Sie unter Programmierprobleme für 64-Bit-Treiber.
Auf einem 32-Bit-System gibt FltIs32bitProcess immer TRUE zurück.
Auf einem 64-Bit-System gibt FltIs32bitProcess gemäß den folgenden Bedingungen TRUE oder FALSE zurück:
Wenn der CallbackData-ParameterNULL ist und der Aufrufer im Kontext eines 32-Bit-Benutzermodusprozesses ausgeführt wird, gibt FltIs32bitProcessTRUE zurück.
Wenn der CallbackData-Parameter nicht NULL ist und die Rückrufdatenstruktur einen IRP-basierten E/A-Vorgang darstellt, bei dem IRP vom E/A-Manager im Namen eines Benutzermodusprozesses ausgegeben wurde, gibt FltIs32bitProcessTRUE zurück.
Wenn der CallbackData-Parameter nicht NULL ist, stellt die Rückrufdatenstruktur einen schnellen E/A-Vorgang oder einen Dateisystemfilter-Rückrufvorgang (FSFilter) dar, und der Aufrufer wird im Kontext eines 32-Bit-Benutzermodusprozesses ausgeführt, FltIs32bitProcess gibt TRUE zurück.
Wenn keine der oben genannten Bedingungen true ist, gibt FltIs32bitProcessFALSE zurück.
Verwenden Sie das Makro FLT_IS_IRP_OPERATION , um zu bestimmen, ob eine Rückrufdatenstruktur einen IRP-basierten E/A-Vorgang darstellt.
Verwenden Sie das Makro FLT_IS_FASTIO_OPERATION , um zu bestimmen, ob eine Rückrufdatenstruktur einen schnellen E/A-Vorgang darstellt.
Verwenden Sie das Makro FLT_IS_FS_FILTER_OPERATION , um zu bestimmen, ob eine Rückrufstruktur einen FsFilter-Rückrufvorgang (Dateisystemfilter) darstellt.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Microsoft Windows XP SP2 |
Unterstützte Mindestversion (Server) | Microsoft Windows Server 2003 SP1 |
Zielplattform | Universell |
Header | fltkernel.h (fltkernel.h einschließen) |
Bibliothek | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | <= APC_LEVEL |