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 |