次の方法で共有


NDK_FN_READコールバック関数 (ndkpi.h)

NdkRead (NDK_FN_READ) 関数は、NDK キュー ペア (QP) に読み取り要求を投稿します。

構文

NDK_FN_READ NdkFnRead;

NTSTATUS NdkFnRead(
  [in]           NDK_QP *pNdkQp,
  [in, optional] PVOID RequestContext,
                 const NDK_SGE *pSgl,
  [in]           ULONG nSge,
  [in]           UINT64 RemoteAddress,
  [in]           UINT32 RemoteToken,
  [in]           ULONG Flags
)
{...}

パラメーター

[in] pNdkQp

NDK キュー ペア (QP) オブジェクト (NDK_QP) へのポインター。

[in, optional] RequestContext

この要求の NDK_RESULT 構造体の RequestContext メンバーで返されるコンテキスト値。

pSgl

受信データを配置するバッファーを表す SGE 構造体 (NDK_SGE) の配列。

[in] nSge

pSgl パラメーターで指定された配列内の SGE 構造体の数。

[in] RemoteAddress

そこから読み取るリモート アドレスは、ローカル ホストのバイト順に表示されます。 NDK コンシューマーは、リモートで指定された値にオフセットを追加できます。

[in] RemoteToken

NDK コンシューマーからの非透過的なバイト配列である、リモートで提供されるメモリ トークン。

[in] Flags

許可される操作を指定するフラグのビットごとの OR。 次のフラグがサポートされています。

価値 意味
NDK_OP_FLAG_SILENT_SUCCESS
0x00000001
この要求が正常に完了しても、送信完了キューに完了イベントが生成されないことを示します。 ただし、失敗した要求では、完了キューにイベントが生成されます。
NDK_OP_FLAG_READ_FENCE
0x00000002
ハードウェアがこの要求の処理を開始する前に、以前のすべての読み取り要求を完了する必要があることを示します。
NDK_OP_FLAG_RDMA_READ_LOCAL_INVALIDATE
0x00000200
このフラグが設定されていて、プロバイダーが NDK_ADAPTER_INFO 構造 NDK_ADAPTER_FLAG_RDMA_READ_LOCAL_INVALIDATE_SUPPORTED アダプター機能も報告する場合、NdkRead 関数が正常に完了すると、pSgl パラメーターで指定された最初のバッファーが無効になります。 正常に完了しなかった場合、バッファーとトークンは未定義の状態になります。 プロバイダーが NDK_ADAPTER_INFO 構造体のアダプター機能 NDK_ADAPTER_FLAG_RDMA_READ_LOCAL_INVALIDATE_SUPPORTED 報告しない場合、このフラグは無視されます。

このフラグは、NDKPI 1.2 (Windows Server 2012 R2) 以降でのみサポートされます。

NDK_OP_FLAG_DEFER
0x00000200
NDK プロバイダーに対して、処理の要求をハードウェアに示す遅延が発生する可能性があることを示します。 このフラグの詳細については、「NDKPI 遅延処理スキームを参照してください。

このフラグは、NDKPI 1.2 (Windows Server 2012 R2) 以降でのみサポートされます。

戻り値

NdkRead 関数は、次のいずれかの NTSTATUS コードを返します。

リターン コード 形容
STATUS_SUCCESS
要求が正常に投稿されました。 作業要求が完了すると、完了エントリが CQ にキューに入れられます。
STATUS_CONNECTION_INVALID
QP が接続されていません。
STATUS_REMOTE_RESOURCES
要求がリモート メモリのサイズを超えて読み取ろうとしました。
その他の状態コードの
エラーが発生しました。

備考

NdkRead は、キュー ペア (QP) に読み取り要求を投稿します。

必要条件

要件 価値
サポートされる最小クライアント サポートされていません。NDIS 6.30 以降でサポートされています。
サポートされる最小サーバー Windows Server 2012
ターゲット プラットフォーム ウィンドウズ
ヘッダー ndkpi.h (Ndkpi.h を含む)
IRQL <=DISPATCH_LEVEL

関連項目

NDKPI 遅延処理スキーム

NDKPI 作業依頼転記要件

NDK_ADAPTER_INFO

NDK_FN_ARM_CQ

NDK_QP

NDK_RESULT

NDK_SGE