NDK_FN_CREATE_SRQ回呼函式 (ndkpi.h)

NdkCreateSrq (NDK_FN_CREATE_SRQ) 函式會在 SRQ) 物件 (建立 NDK 共用接收佇列。

語法

NDK_FN_CREATE_SRQ NdkFnCreateSrq;

NTSTATUS NdkFnCreateSrq(
  [in]           NDK_PD *pNdkPd,
  [in]           ULONG SrqDepth,
  [in]           ULONG MaxReceiveRequestSge,
  [in]           ULONG NotifyThreshold,
  [in, optional] NDK_FN_SRQ_NOTIFICATION_CALLBACK SrqNotification,
  [in, optional] PVOID SrqNotificationContext,
  [in, optional] GROUP_AFFINITY *Affinity,
  [in]           NDK_FN_CREATE_COMPLETION CreateCompletion,
  [in, optional] PVOID RequestContext,
                 NDK_SRQ **ppNdkSrq
)
{...}

參數

[in] pNdkPd

NDK 保護網域的指標, (PD) 物件 (NDK_PD) 。

[in] SrqDepth

可透過 SRQ 完成的接收要求數目上限。 這個值必須小於或等於 NDK_ADAPTER_INFO 結構中所指定 MaxSrqDepth 成員中的值。

[in] MaxReceiveRequestSge

單一接收要求中支援的 SGE 數目上限。 這個值必須小於或等於在 NDK_ADAPTER_INFO 結構中指定的 MaxReceiveRequestSge 成員中的值。

[in] NotifyThreshold

觸發 SRQ 通知回呼的佇列接收要求數目下限。

[in, optional] SrqNotification

選擇性 的 NdkSrqNotificationCallback 函式 (NDK_FN_SRQ_NOTIFICATION_CALLBACK) ,如果佇列接收要求計數低於 NotifyThreshold 參數中指定的閾值,提供者就會呼叫此函式。

[in, optional] SrqNotificationContext

NDK 提供者傳回給 SrqNotification 參數中指定的 NdkSrqNotificationCallback 函式的內容值。

[in, optional] Affinity

affinity mask (GROUP_AFFINITY) ,指定取用者選擇執行 NdkSrqNotificationCallback 回 呼的慣用處理器。 如果提供者的基礎硬體允許,提供者應該接受處理器喜好設定,但取用者無法假設 NdkSrqNotificationCallback 回 呼只會發生在慣用的處理器上。 如果沒有慣用的處理器,請將 Affinity 設定為 NULL。

[in] CreateCompletion

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

[in, optional] RequestContext

NDK 提供者傳回 CreateCompletion 參數中指定的 NdkCreateCompletion 函式的內容值。

ppNdkSrq

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

傳回值

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

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

備註

NdkCreateSrq 函式會在 SRQ) 物件 (建立 NDK 共用接收佇列。 如果函式傳回STATUS_SUCCESS,則會在 ppNdkSrq 參數中傳回建立的物件。 如果 NdkCreateSrq 傳回STATUS_PENDING,則 NdkCreateCompletion 會傳回所建立的物件 (NDK_FN_CREATE_COMPLETIONcreateCompletion 參數中指定的) 函式。

規格需求

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

另請參閱

GROUP_AFFINITY

NDKPI 物件存留期需求

NDK_ADAPTER_INFO

NDK_FN_CREATE_COMPLETION

NDK_FN_SRQ_NOTIFICATION_CALLBACK

NDK_PD

NDK_SRQ