NDK_FN_BINDコールバック関数 (ndkpi.h)
NdkBind (NDK_FN_BIND) 関数は、メモリ 領域 (MR) の特定のサブ領域にメモリ ウィンドウをバインドします。
構文
NDK_FN_BIND NdkFnBind;
NTSTATUS NdkFnBind(
[in] NDK_QP *pNdkQp,
[in, optional] PVOID RequestContext,
[in] NDK_MR *pMr,
[in] NDK_MW *pMw,
[in] PVOID VirtualAddress,
[in] SIZE_T Length,
[in] ULONG Flags
)
{...}
パラメーター
[in] pNdkQp
NDK キュー ペア (QP) オブジェクト (NDK_QP) へのポインター。
[in, optional] RequestContext
この要求の NDK_RESULT 構造体の RequestContext メンバーで返されるコンテキスト値。
[in] pMr
NDK メモリ領域 (MR) オブジェクト (NDK_MR) へのポインター。
[in] pMw
NDK メモリ ウィンドウ (MW) オブジェクト (NDK_MW) へのポインター。
[in] VirtualAddress
MR の MDL の仮想アドレス以上で、MR の MDL の仮想アドレスと Length パラメーターの値より小さい必要がある仮想アドレス。
MmGetMdlVirtualAddress マクロを使用して、MR の MDL の仮想アドレスを取得します。
[in] Length
MW に結合する MR の長さ。
[in] Flags
許可される操作を指定するフラグのビットごとの OR。 次のフラグがサポートされています。
価値 | 意味 |
---|---|
|
この要求が正常に完了しても、送信完了キューに完了イベントが生成されないことを示します。 ただし、失敗した要求では、完了キューに完了が生成されます。 |
|
ハードウェアがこの要求の処理を開始する前に、以前のすべての読み取り要求を完了する必要があることを示します。 |
|
接続されているピアのメモリ ウィンドウへの読み取りアクセスを有効にします。 メモリ ウィンドウにアクセスするには、接続されているピアに有効なトークンが必要です。 |
|
接続されているピアのメモリ ウィンドウへの書き込みアクセスを有効にします。 メモリ ウィンドウにアクセスするには、接続されているピアに有効なトークンが必要です。 |
|
NDK プロバイダーに対して、処理の要求をハードウェアに示す遅延が発生する可能性があることを示します。 このフラグの詳細については、「NDKPI 遅延処理スキームを参照してください。
注 このフラグは、NDKPI 1.2 (Windows Server 2012 R2) 以降でのみサポートされます。 |
戻り値
NdkBind 関数は、次の NTSTATUS コードのいずれかを返します。
リターン コード | 形容 |
---|---|
|
要求が正常に投稿されました。 作業要求が完了すると、完了エントリが CQ にキューに入れられます。 |
|
キュー ペア (QP) が接続されていません。 |
|
メモリ領域では、メモリ ウィンドウに対して要求されたアクセスの種類は許可されません。 NDK_OP_FLAG_ALLOW_WRITE フラグには、NDK_MR_FLAG_ALLOW_LOCAL_WRITE フラグに登録されたメモリ領域が必要です。 |
|
エラーが発生しました。 |
備考
NdkBind は、メモリ 領域 (MR) の特定のサブ領域にメモリ ウィンドウ (MW) をバインドします。
VirtualAddress パラメーターのアドレスは、メモリ登録中に指定された MDL チェーンによって記述される、仮想的に連続した領域内のアドレスである必要があります。 アドレスは、プロバイダーがメモリ領域のインデックスとして扱う必要があります。 このアドレスは、バッファーの内容を読み取ったり書き込んだりするための有効な仮想アドレスとしてプロバイダーが使用することはできません。
この呼び出しが戻ると、リモート トークンは NdkGetRemotetokenFromMw 関数 (NDK_FN_GET_REMOTE_TOKEN_FROM_MW) で使用できるようになります。
この関数は、0 から始まる仮想アドレスをサポートしていません。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | サポートされていません。NDIS 6.30 以降でサポートされています。 |
サポートされる最小サーバー | Windows Server 2012 |
ターゲット プラットフォーム の | ウィンドウズ |
ヘッダー | ndkpi.h (Ndkpi.h を含む) |
IRQL | <=DISPATCH_LEVEL |