次の方法で共有


WdfRequestGetRequestorMode 関数 (wdfrequest.h)

[KMDF と UMDF に適用]

WdfRequestGetRequestorMode メソッドは、指定された I/O 要求の発信元のプロセッサ アクセス モードを返します。

構文

KPROCESSOR_MODE WdfRequestGetRequestorMode(
  [in] WDFREQUEST Request
);

パラメーター

[in] Request

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

戻り値

I/O 要求の発信元がカーネル モードで実行されている場合、WdfRequestGetRequestorModeKernelMode を返します。 それ以外の場合、このメソッドは UserMode を返しますKernelMode 定数と UserMode 定数は wdm.h で定義されます。

ドライバーが無効なオブジェクト ハンドルを提供すると、バグ チェックが発生します。

注釈

WdfRequestGetRequestorMode の詳細については、「I/O 要求に関する情報の取得」を参照してください。

次のコード例は、 NDISProt サンプル ドライバーのものです。 次の使用例は、I/O 要求がユーザー モード アプリケーションから送信された場合に、有効な MAC アドレスを確認します。

//
// To prevent applications from sending packets with spoofed MAC address,
// perform the following check to make sure the source address 
// in the packet is the same as the current MAC address of the NIC.
//
if ((WdfRequestGetRequestorMode(Request) == UserMode) && 
    !NPROT_MEM_CMP(pEthHeader->SrcAddr, pOpenContext->CurrentAddress, NPROT_MAC_ADDR_LEN))
{
    DEBUGP(DL_WARN, ("Write: Failing with invalid Source address"));
    NtStatus = STATUS_INVALID_PARAMETER;
    break;
}

要件

要件
対象プラットフォーム ユニバーサル
最小 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)