WdfRequestIsFrom32BitProcess 関数 (wdfrequest.h)
[KMDF と UMDF に適用]
WdfRequestIsFrom32BitProcess メソッドは、指定された I/O 要求の発信元が 32 ビット のユーザー モード アプリケーションであるかどうかを確認します。
構文
BOOLEAN WdfRequestIsFrom32BitProcess(
[in] WDFREQUEST Request
);
パラメーター
[in] Request
フレームワーク要求オブジェクトへのハンドル。
戻り値
64 ビット システムでは、現在の I/O 要求の発信元が 32 ビット のユーザー モード プロセスである場合は、WdfRequestIsFrom32BitProcess は TRUE を返し、それ以外の場合は FALSE を 返します。 32 ビット システムでは、 WdfRequestIsFrom32BitProcess は 常に TRUE を返します。
ドライバーが無効なオブジェクト ハンドルを提供すると、バグ チェックが発生します。
注釈
ドライバーは WdfRequestIsFrom32BitProcess を 呼び出して、64 ビット ドライバーで使用する前に、I/O 要求に変換する必要があるデータ要素または "サンクされた" データ要素が含まれている可能性があるかどうかを判断できます。
指定された要求ハンドルは、 WdfRequestCreate の呼び出しからではなく、ドライバーの I/O キューのいずれかから取得されている必要があります。
例
次のコード例では、I/O 要求が 32 ビット アプリケーションから送信されたかどうかを判断します。
VOID
MyEvtIoRead(
IN WDFQUEUE Queue,
IN WDFREQUEST Request,
IN size_t Length
)
{
...
if (WdfRequestIsFrom32BitProcess(Request)) {
//
// The driver is running on a 64-bit computer and the
// I/O request came from a 32-bit application.
//
...
}
...
}
要件
要件 | 値 |
---|---|
対象プラットフォーム | ユニバーサル |
最小 KMDF バージョン | 1.0 |
最小 UMDF バージョン | 2.0 |
Header | wdfrequest.h (Wdf.h を含む) |
Library | Wdf01000.sys (KMDF);WUDFx02000.dll (UMDF) |
IRQL | <=DISPATCH_LEVEL |
DDI コンプライアンス規則 | DriverCreate(kmdf)、 InvalidReqAccess(kmdf)、 InvalidReqAccessLocal(kmdf)、 KmdfIrql(kmdf)、 KmdfIrql2(kmdf)、KmdfIrqlExplicit(kmdf) |