次の方法で共有


WdfRequestIsFrom32BitProcess 関数 (wdfrequest.h)

[KMDF と UMDF に適用]

WdfRequestIsFrom32BitProcess メソッドは、指定された I/O 要求の発信元が 32 ビット のユーザー モード アプリケーションであるかどうかを確認します。

構文

BOOLEAN WdfRequestIsFrom32BitProcess(
  [in] WDFREQUEST Request
);

パラメーター

[in] Request

フレームワーク要求オブジェクトへのハンドル。

戻り値

64 ビット システムでは、現在の I/O 要求の発信元が 32 ビット のユーザー モード プロセスである場合は、WdfRequestIsFrom32BitProcessTRUE を返し、それ以外の場合は 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)

こちらもご覧ください

WdfRequestCreate