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