Freigeben über


FltIs32bitProcess-Funktion (fltkernel.h)

Die FltIs32bitProcess Routine überprüft, ob der Absender des aktuellen E/A-Vorgangs eine 32-Bit-Benutzermodusanwendung 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-werden.

Rückgabewert

FltIs32bitProcess- gibt TRUE zurück, wenn der Absender des aktuellen E/A-Vorgangs ein 32-Bit-Benutzermodusprozess ist, FALSE andernfalls.

Bemerkungen

Minifiltertreiber rufen FltIs32bitProcess- auf, um festzustellen, 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.

Bei einem 64-Bit-System gibt FltIs32bitProcessTRUE oder FALSE-gemäß den folgenden Bedingungen zurück:

  • Wenn der parameter CallbackDataNULList und der Aufrufer im Kontext eines 32-Bit-Benutzermodusprozesses ausgeführt wird, gibt FltIs32bitProcessTRUEzurück.

  • Wenn der parameter CallbackData nicht NULList und die Rückrufdatenstruktur einen IRP-basierten E/A-Vorgang darstellt, bei dem IRP vom I/O-Manager im Auftrag eines Benutzermodusprozesses ausgegeben wurde, gibt FltIs32bitProcessTRUEzurück.

  • Wenn der CallbackData Parameter nicht NULL-ist, stellt die Rückrufdatenstruktur einen schnellen E/A-Vorgang oder einen Dateisystemfiltervorgang (FILE System Filter) dar, und der Aufrufer wird im Kontext eines 32-Bit-Benutzermodusprozesses ausgeführt, FltIs32bitProcess gibt TRUEzurück.

  • Wenn keine der oben genannten Bedingungen trueist, gibt FltIs32bitProcess-FALSEzurück.

Um zu ermitteln, ob eine Rückrufdatenstruktur einen IRP-basierten E/A-Vorgang darstellt, verwenden Sie das FLT_IS_IRP_OPERATION Makro.

Um festzustellen, ob eine Rückrufdatenstruktur einen schnellen E/A-Vorgang darstellt, verwenden Sie das FLT_IS_FASTIO_OPERATION Makro.

Um zu ermitteln, ob eine Rückrufdatenstruktur einen Dateisystemfilter (FSFilter)-Rückrufvorgang darstellt, verwenden Sie das makro FLT_IS_FS_FILTER_OPERATION.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Microsoft Windows XP SP2
mindestens unterstützte Server- Microsoft Windows Server 2003 SP1
Zielplattform- Universal
Header- fltkernel.h (include Fltkernel.h)
Library FltMgr.lib
DLL- Fltmgr.sys
IRQL- <= APC_LEVEL

Siehe auch

FLT_CALLBACK_DATA

FLT_IS_FASTIO_OPERATION

FLT_IS_FS_FILTER_OPERATION

FLT_IS_IRP_OPERATION

IoIs32bitProcess-