NDK_FN_CREATE_CQ回呼函式 (ndkpi.h)
NdkCreateCq (NDK_FN_CREATE_CQ) 函式會建立 NDK 完成佇列 (CQ) 物件。
語法
NDK_FN_CREATE_CQ NdkFnCreateCq;
NTSTATUS NdkFnCreateCq(
[in] NDK_ADAPTER *pNdkAdapter,
[in] ULONG CqDepth,
[in] NDK_FN_CQ_NOTIFICATION_CALLBACK CqNotification,
[in, optional] PVOID CqNotificationContext,
[in, optional] GROUP_AFFINITY *Affinity,
[in] NDK_FN_CREATE_COMPLETION CreateCompletion,
[in, optional] PVOID RequestContext,
NDK_CQ **ppNdkCq
)
{...}
參數
[in] pNdkAdapter
NDK 配接器物件的指標(NDK_ADAPTER)。
[in] CqDepth
CQ 可以保存的最大完成項目數目。 此值必須小於或等於 NDK_ADAPTER_INFO 結構中指定的 maxCqDepth 值。
[in] CqNotification
NdkCqNotificationCallback 函式(NDK_FN_CQ_NOTIFICATION_CALLBACK)的指標,提供者會在 CQ 中排入佇列要求時用來通知取用者。 提供者不會呼叫 NdkCqNotificationCallback,除非取用者使用 NdkArmCq (NDK_FN_ARM_CQ) 函式來提供通知。
[in, optional] CqNotificationContext
NDK 提供者傳回 NdkCqNotificationCallback 函式的內容值,該函式是在 CqNotification 參數中指定的。
[in, optional] Affinity
親和性遮罩(GROUP_AFFINITY),提供取用者選擇執行 NdkCqNotificationCallback 回呼的慣用處理器。 如果提供者的基礎硬體允許,提供者應該接受處理器喜好設定,但取用者無法假設 NdkCqNotificationCallback 回呼只會發生在慣用處理器上。 如果沒有慣用的處理器,請將 Affinity 設定為 NULL。
[in] CreateCompletion
NdkCreateCompletion (NDK_FN_CREATE_COMPLETION) 函式的指標,可完成建立 NDK 物件。
[in, optional] RequestContext
NDK 提供者傳回 NdkCreateCompletion 函式的內容值,該函式是在 createCompletion 參數 指定。
ppNdkCq
如果要求成功而不傳回STATUS_PENDING,則會在此位置傳回完成佇列 (CQ) 物件的指標 (NDK_CQ)。 如果 NdkCreateCq 傳回STATUS_PENDING則會忽略此參數,而且會使用 createCompletion 參數中指定的回呼傳回所建立的物件。
傳回值
NDK_FN_CREATE_CQ 函式會傳回下列其中一個NTSTATUS代碼。
傳回碼 | 描述 |
---|---|
|
CQ 物件已成功建立,並使用 *ppNdkCq 參數 傳回。 |
|
作業擱置中,稍後將會完成。 提供者會呼叫 createCompletion 參數 中指定的函式NDK_FN_CREATE_COMPLETION,以完成暫止的作業。 |
|
要求失敗,因為要求 CqDepth 值大於 NDK_ADAPTER_INFO 結構中指定的 MaxCqDepth 值。 |
|
要求因資源不足而失敗。
重要 要求可能會內嵌失敗,以及使用此狀態代碼以異步方式失敗。
|
|
發生錯誤。 |
言論
NdkCreateCq 函式會建立 NDK 完成佇列 (CQ) 物件。 如果函式傳回STATUS_SUCCESS,則會在 ppNdkCq 參數中傳回已建立的物件。 如果 NdkCreateCq 傳回STATUS_PENDING,則 NdkCreateCompletion (NDK_FN_CREATE_COMPLETION) 函式會傳回 CreateCompletion 參數中指定的物件。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | 不支援,在 NDIS 6.30 和更新版本中支援。 |
支援的最低伺服器 | Windows Server 2012 |
目標平臺 | 窗戶 |
標頭 | ndkpi.h (包括 Ndkpi.h) |
IRQL | <=DISPATCH_LEVEL |