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_ADAPTER_FLAG_RDMA_READ_LOCAL_INVALIDATE_SUPPORTED 配接器功能,NDK_ADAPTER_INFO 結構中,NdkRead 函式成功完成表示 pSgl 參數中指定的第一個緩衝區已失效。 未成功的完成會讓緩衝區和令牌處於未定義狀態。 如果提供者未報告 NDK_ADAPTER_FLAG_RDMA_READ_LOCAL_INVALIDATE_SUPPORTEDNDK_ADAPTER_INFO 結構中的配接器功能,則會忽略此旗標。
注意 此旗標僅支援 NDKPI 1.2 (Windows Server 2012 R2) 和更新版本。 |
|
向 NDK 提供者指出,它可能會延遲表示硬體要求進行處理。 如需此旗標的詳細資訊,請參閱 NDKPI 延遲處理設定。
注意 此旗標僅支援 NDKPI 1.2 (Windows Server 2012 R2) 和更新版本。 |
傳回值
NdkRead 函式會傳回下列其中一個 NTSTATUS 程式代碼。
傳回碼 | 描述 |
---|---|
|
已成功張貼要求。 完成專案會在工作要求完成時排入 CQ 佇列。 |
|
QP 未連線。 |
|
要求嘗試讀取超過遠端記憶體的大小。 |
|
發生錯誤。 |
言論
NdkRead 在佇列配對 (QP) 上張貼讀取要求。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | 不支援,在 NDIS 6.30 和更新版本中支援。 |
支援的最低伺服器 | Windows Server 2012 |
目標平臺 | 窗戶 |
標頭 | ndkpi.h (包括 Ndkpi.h) |
IRQL | <=DISPATCH_LEVEL |