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 NdkCqNotificationCallback (NDK_FN_CQ_NOTIFICATION_CALLBACK) usata 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 armi la notifica con la funzione NdkArmCq (NDK_FN_ARM_CQ).
[in, optional] CqNotificationContext
Valore di contesto restituito dal provider NDK alla funzione NdkCqNotificationCallback specificata nel parametro CqNotification .
[in, optional] Affinity
Maschera di affinità (GROUP_AFFINITY) che fornisce processori preferiti che il consumer sceglie di eseguire i callback NdkCqNotificationCallback . I provider devono rispettare le preferenze del processore se l'hardware sottostante lo consente, ma i consumer non possono presupporre che i callback NdkCqNotificationCallback 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
In questo percorso viene restituito un puntatore a un oggetto CQ (Completion Queue) (NDK_CQ) 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 |
---|---|
|
L'oggetto CQ è stato creato correttamente e restituito con il parametro *ppNdkCq . |
|
L'operazione è in sospeso e verrà completata in un secondo momento. Il provider chiamerà la funzione specificata nel parametro CreateCompletion (NDK_FN_CREATE_COMPLETION) per completare l'operazione in sospeso. |
|
La richiesta non è riuscita perché il valore CqDepth richiesto è maggiore del valore MaxCqDepth specificato nella struttura NDK_ADAPTER_INFO . |
|
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.
|
|
Si è verificato un errore. |
Commenti
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 .
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | None supported,Supported in NDIS 6.30 and later. |
Server minimo supportato | Windows Server 2012 |
Piattaforma di destinazione | Windows |
Intestazione | ndkpi.h (include Ndkpi.h) |
IRQL | <=DISPATCH_LEVEL |
Vedi anche
Requisiti di durata dell'oggetto NDKPI