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 ビット プロセスである場合、IoIs32bitProcessTRUE を返します。

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