Condividi tramite


NDK_FN_CREATE_CQ funzione di callback (ndkpi.h)

La funzione NdkCreateCq (NDK_FN_CREATE_CQ) crea un oggetto CQ (NDK Completion Queue).

Sintassi

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
)
{...}

Parametri

[in] pNdkAdapter

Puntatore a un oggetto adattatore NDK (NDK_ADAPTER).

[in] CqDepth

Numero massimo di voci di completamento che il CQ può contenere. Questo valore deve essere minore o uguale al valore MaxCqDepth specificato nella struttura NDK_ADAPTER_INFO.

[in] CqNotification

Puntatore alla funzione di NdkCqNotificationCallback (NDK_FN_CQ_NOTIFICATION_CALLBACK) utilizzata dal provider per notificare al consumer quando i completamenti delle richieste vengono accodati nel CQ. Il provider non chiamerà NdkCqNotificationCallback a meno che il consumer non esegua il braccio della notifica con la funzione NdkArmCq (NDK_FN_ARM_CQ).

[in, optional] CqNotificationContext

Valore di contesto restituito dal provider NDK al funzione NdkCqNotificationCallback specificata nel parametro CqNotification.

[in, optional] Affinity

Maschera di affinità (GROUP_AFFINITY) che fornisce processori preferiti che il consumer sceglie di eseguire il NdkCqNotificationCallback callback. I provider devono rispettare le preferenze del processore se l'hardware sottostante lo consente, ma i consumer non possono presupporre che NdkCqNotificationCallback callback si verificheranno solo sui processori preferiti. Impostare affinity su NULL se non sono presenti processori preferiti.

[in] CreateCompletion

Puntatore a una funzione NdkCreateCompletion (NDK_FN_CREATE_COMPLETION) che completa la creazione di un oggetto NDK.

[in, optional] RequestContext

Valore di contesto restituito dal provider NDK alla funzione NdkCreateCompletion specificata nel parametro CreateCompletion.

ppNdkCq

Un puntatore a un oggetto CQ (Completion Queue) (NDK_CQ) viene restituito in questo percorso se la richiesta ha esito positivo senza restituire STATUS_PENDING. Se NdkCreateCq restituisce STATUS_PENDING questo parametro viene ignorato e l'oggetto creato viene restituito con il callback specificato nel parametro CreateCompletion.

Valore restituito

La funzione NDK_FN_CREATE_CQ restituisce uno dei codici NTSTATUS seguenti.

Codice restituito Descrizione
STATUS_SUCCESS
L'oggetto CQ è stato creato correttamente e restituito con il parametro *ppNdkCq.
STATUS_PENDING
L'operazione è in sospeso e verrà completata in un secondo momento. Il provider chiamerà la funzione specificata nella CreateCompletion parametro(NDK_FN_CREATE_COMPLETION) per completare l'operazione in sospeso.
STATUS_INVALID_PARAMETER
La richiesta non è riuscita perché il valore CqDepth richiesto è maggiore del valore MaxCqDepth specificato nella struttura NDK_ADAPTER_INFO.
STATUS_INSUFFICIENT_RESOURCES
La richiesta non è riuscita a causa di risorse insufficienti.
Importante La richiesta può non riuscire inline e in modo asincrono con questo codice di stato.
 
Altri codici di stato
Si è verificato un errore.

Osservazioni

La funzione NdkCreateCq crea un oggetto CQ (NDK Completion Queue). Se la funzione restituisce STATUS_SUCCESS, l'oggetto creato viene restituito nel parametro ppNdkCq. Se NdkCreateCq restituisce STATUS_PENDING, l'oggetto creato viene restituito dalla funzione NdkCreateCompletion (NDK_FN_CREATE_COMPLETION) specificata nel parametro CreateCompletion.

Fabbisogno

Requisito Valore
client minimo supportato Nessuna supportata, supportata in NDIS 6.30 e versioni successive.
server minimo supportato Windows Server 2012
piattaforma di destinazione Finestre
intestazione ndkpi.h (include Ndkpi.h)
IRQL <=DISPATCH_LEVEL

Vedere anche

GROUP_AFFINITY

requisiti di durata dell'oggetto NDKPI

NDK_ADAPTER

NDK_ADAPTER_DISPATCH

NDK_ADAPTER_INFO

NDK_CQ

NDK_FN_ARM_CQ

NDK_FN_CQ_NOTIFICATION_CALLBACK

NDK_FN_CREATE_COMPLETION