共用方式為


NDK_FN_CREATE_QP回呼函式 (ndkpi.h)

NdkCreateQpNDK_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) 指標(NDK_CQ)。

[in] pInitiatorCq

要用於啟動器要求完成之 CQ 的指標。

[in, optional] QPContext

要針對在此 QP 上張貼的所有要求,在 QPContext 中傳回的內容值NDK_RESULT 結構成員。

[in] ReceiveQueueDepth

可透過 QP 未完成的接收要求數目上限。 這個值必須小於或等於 NDK_ADAPTER_INFO 結構之 MaxReceiveQueueDepth 成員中的值。

[in] InitiatorQueueDepth

可透過 QP 未完成的啟動器要求數目上限。 這個值必須小於或等於 MaxInitiatorQueueDepth NDK_ADAPTER_INFO 結構成員中的值。

[in] MaxReceiveRequestSge

單一接收要求中可支援的最大 SG 數目。 這個值必須小於或等於NDK_ADAPTER_INFO結構之 MaxReceiveRequestS ge 成員中的值。

[in] MaxInitiatorRequestSge

單一啟動器要求可支援的最大SG數目。 此值必須小於或等於 MaxInitiatorRequestSge 結構 NDK_ADAPTER_INFO成員中的值。

[in] InlineDataSize

可以在單一傳送或寫入要求中傳送的位元組內嵌數據數量上限。 此值必須小於或等於 MaxInlineDataSize 中 NDK_ADAPTER_INFO 結構成員中的值。

[in] CreateCompletion

NdkCreateCompletionNDK_FN_CREATE_COMPLETION) 函式的指標,可完成建立 NDK 物件。

[in, optional] RequestContext

NDK 提供者傳回 NdkCreateCompletion 函式的內容值,該函式是在 createCompletion 參數 指定。

ppNdkQp

如果要求成功而不傳回STATUS_PENDING,則會在此位置傳回所建立 QP 物件的指標(NDK_QP)。 如果要求傳回STATUS_PENDING,則會忽略此參數,並使用 createCompletion 參數中指定的回呼傳回建立的物件。

傳回值

NdkCreateQp 函式會傳回下列其中一個 NTSTATUS 程式代碼。

傳回碼 描述
STATUS_SUCCESS
QP 物件已成功建立,並使用 *ppNdkQp 參數傳回。
STATUS_PENDING
作業擱置中,稍後將會完成。 提供者會呼叫 createCompletion 參數 中指定的函式NDK_FN_CREATE_COMPLETION,以完成暫止的作業。
STATUS_INVALID_PARAMETER
要求失敗,因為要求的 ReceiveQueueDepthInitiatorQueueDepthMaxReceiveRequestSgeMaxInitiatorRequestSgeInlineDataSize 不在 NDK_ADAPTER_INFO 結構中指定的限制內。
STATUS_INSUFFICIENT_RESOURCES
要求因資源不足而失敗。
重要 要求可能會內嵌失敗,以及使用此狀態代碼以異步方式失敗。
 
其他狀態代碼
發生錯誤。

言論

NdkCreateQp 函式會建立 NDK 佇列組 (QP) 物件。 QP 是由接收佇列和啟動器佇列所組成。 接收佇列用來張貼接收要求。 啟動器佇列用於起始傳送、系結、快速註冊、讀取、寫入和失效要求。

如果函式傳回STATUS_SUCCESS,則會在 ppNdkQp 參數中傳回已建立的物件。 如果 NdkCreateQp 傳回STATUS_PENDING,則 NdkCreateCompletionNDK_FN_CREATE_COMPLETION) 函式會傳回 CreateCompletion 參數中指定的物件。

要求

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

另請參閱

NDKPI 物件存留期需求

NDK_ADAPTER_INFO

NDK_CQ

NDK_FN_CREATE_COMPLETION

NDK_PD

NDK_QP

NDK_RESULT