Freigeben über


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

Weitere Informationen

FLT_CALLBACK_DATA

FLT_IS_FASTIO_OPERATION

FLT_IS_FS_FILTER_OPERATION

FLT_IS_IRP_OPERATION

IoIs32bitProcess