NDK_FN_CREATE_QP回呼函式 (ndkpi.h)
NdkCreateQp (NDK_FN_CREATE_QP) 函式會建立 NDK 佇列組 (QP) 物件。
語法
NDK_FN_CREATE_QP NdkFnCreateQp;
NTSTATUS NdkFnCreateQp(
[in] NDK_PD *pNdkPd,
[in] NDK_CQ *pReceiveCq,
[in] NDK_CQ *pInitiatorCq,
[in, optional] PVOID QPContext,
[in] ULONG ReceiveQueueDepth,
[in] ULONG InitiatorQueueDepth,
[in] ULONG MaxReceiveRequestSge,
[in] ULONG MaxInitiatorRequestSge,
[in] ULONG InlineDataSize,
[in] NDK_FN_CREATE_COMPLETION CreateCompletion,
[in, optional] PVOID RequestContext,
NDK_QP **ppNdkQp
)
{...}
參數
[in] pNdkPd
NDK 保護網域的指標, (PD) 物件 (NDK_PD) 。
[in] pReceiveCq
要用於接收要求完成的 CQ (CQ) 指標, (NDK_CQ) 。
[in] pInitiatorCq
要用於啟動器要求完成之 CQ 的指標。
[in, optional] QPContext
要針對透過此 QP 張貼的所有要求,在 NDK_RESULT 結構的 QPContext 成員中傳回的內容值。
[in] ReceiveQueueDepth
可透過 QP 完成的接收要求數目上限。 此值必須小於或等於 NDK_ADAPTER_INFO 結構之 MaxReceiveQueueDepth 成員中的值。
[in] InitiatorQueueDepth
可透過 QP 完成的啟動器要求數目上限。 此值必須小於或等於 NDK_ADAPTER_INFO 結構之 MaxInitiatorQueueDepth 成員中的值。
[in] MaxReceiveRequestSge
單一接收要求中可支援的 SGE 數目上限。 這個值必須小於或等於 NDK_ADAPTER_INFO 結構 之 MaxReceiveRequestSge 成員中的值。
[in] MaxInitiatorRequestSge
單一啟動器要求中可支援的 SGE 數目上限。 這個值必須小於或等於 NDK_ADAPTER_INFO 結構之 MaxInitiatorRequestSge 成員中的值。
[in] InlineDataSize
可在單一傳送或寫入要求中傳送的最大內嵌數據位元組量。 此值必須小於或等於 NDK_ADAPTER_INFO 結構之 MaxInlineDataSize 成員中的值。
[in] CreateCompletion
完成建立 NDK 物件的 NdkCreateCompletion (NDK_FN_CREATE_COMPLETION) 函式的指標。
[in, optional] RequestContext
NDK 提供者傳回至 CreateCompletion 參數中指定的 NdkCreateCompletion 函式的內容值。
ppNdkQp
如果要求成功而未傳回STATUS_PENDING,則會傳回所建立 QP 物件的指標 (NDK_QP) 。 如果要求傳回STATUS_PENDING,則會忽略此參數,並使用 CreateCompletion 參數中指定的回呼傳回已建立的物件。
傳回值
NdkCreateQp 函式會傳回下列其中一個NTSTATUS代碼。
傳回碼 | Description |
---|---|
|
QP 物件已成功建立,並使用 *ppNdkQp 參數傳回。 |
|
作業擱置中,稍後將會完成。 提供者會呼叫 CreateCompletion 參數中指定的函式, (NDK_FN_CREATE_COMPLETION) 來完成擱置作業。 |
|
要求失敗,因為要求的 ReceiveQueueDepth、InitiatorQueueDepth、MaxReceiveRequestSge、MaxInitiatorRequestSge 或 InlineDataSize 不在NDK_ADAPTER_INFO 結構中指定的限制內。 |
|
要求失敗,因為資源不足。
重要 要求可以透過此狀態代碼以異步方式內嵌和失敗。
|
|
發生錯誤。 |
備註
NdkCreateQp 函式會在 QP) 物件 (建立 NDK 佇列組。 QP 是由接收佇列和啟動器佇列所組成。 接收佇列用來張貼接收要求。 啟動器佇列用於起始傳送、系結、快速註冊、讀取、寫入和無效的要求。
如果函式傳回STATUS_SUCCESS,則會在 ppNdkQp 參數中傳回建立的物件。 如果 NdkCreateQp 傳回STATUS_PENDING,則 NdkCreateCompletion (NDK_FN_CREATE_COMPLETION createCompletion 參數中指定的 ) 函式傳回所建立的物件。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 不支援,NDIS 6.30 和更新版本中支援。 |
最低支援的伺服器 | Windows Server 2012 |
目標平台 | Windows |
標頭 | ndkpi.h (包括 Ndkpi.h) |
IRQL | <=DISPATCH_LEVEL |