IoIs32bitProcess 関数 (wdm.h)
IoIs32bitProcess ルーチンは、現在の I/O 要求の発信元が 32 ビット のユーザー モード アプリケーションであるかどうかをチェックします。
構文
BOOLEAN IoIs32bitProcess(
[in, optional] PIRP Irp
);
パラメーター
[in, optional] Irp
現在の I/O 要求を含む IRP への省略可能なポインター。 これは、I/O マネージャーによって発行された元の IRP である必要があります。 呼び出し元が高速 I/O ディスパッチ ルーチン (したがって IRP がない) の場合、呼び出し元はこのパラメーターを NULL に設定する必要があります。
戻り値
IoIs32bitProcess は 、現在の I/O 要求の発信元が 32 ビット のユーザー モード プロセスである場合に TRUE を 返します。 それ以外の場合は、 FALSE を返します。
注釈
ドライバーは IoIs32bitProcess を 呼び出して、64 ビット ドライバーで使用する前に、I/O 要求に変換する必要があるデータ要素が含まれている可能性が高いか、"サンク" であるかを判断します。
Irp パラメーターが NULL で、呼び出し元がユーザー モード プロセスのコンテキストで実行されている場合、このプロセスが 32 ビット プロセスである場合、IoIs32bitProcess は TRUE を返します。
Irp パラメーターが NULL でない場合は、ユーザー モード プロセスの代わりに I/O マネージャーによって発行された IRP を指す必要があります。 IoIs32bitProcess を使用して、ドライバーによって割り当てられた IRP をチェックすることはできません。 ドライバーによって割り当てられた IRP とカーネル モード ドライバーは、64 ビット対応と見なされます。
詳細については、「 64 ビット ドライバーのプログラミングの問題」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | 64 ビット バージョンの Microsoft Windows XP 以降の 64 ビット バージョンの Windows オペレーティング システムで使用できます。 |
対象プラットフォーム | ユニバーサル |
Header | wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む) |
Library | NtosKrnl.lib |
[DLL] | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL |