共用方式為


NDK_FN_READ回呼函式 (ndkpi.h)

NdkRead (NDK_FN_READ) 函式會在 QP) NDK 佇列 (配對上張貼讀取要求。

語法

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_FLAG_RDMA_READ_LOCAL_INVALIDATE_SUPPORTEDNDK_ADAPTER_INFO 結構中的配接器功能, 則成功完成 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程式代碼。

傳回碼 Description
STATUS_SUCCESS
已成功張貼要求。 完成專案會在工作要求完成時排入 CQ 佇列。
STATUS_CONNECTION_INVALID
QP 未連線。
STATUS_REMOTE_RESOURCES
要求嘗試讀取超過遠端記憶體的大小。
其他狀態代碼
發生錯誤。

備註

NdkRead 會在佇列配對上張貼讀取要求, (QP) 。

規格需求

需求
最低支援的用戶端 NDIS 6.30 和更新版本中不支援,不支援。
最低支援的伺服器 Windows Server 2012
目標平台 Windows
標頭 ndkpi.h (包含 Ndkpi.h)
IRQL <=DISPATCH_LEVEL

另請參閱

NDKPI 延遲處理配置

NDKPI 工作要求張貼需求

NDK_ADAPTER_INFO

NDK_FN_ARM_CQ

NDK_QP

NDK_RESULT

NDK_SGE