NDK_FN_CREATE_CQ fonction de rappel (ndkpi.h)
La fonction NdkCreateCq (NDK_FN_CREATE_CQ) crée un objet CQ (NDK Completion Queue).
Syntaxe
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
)
{...}
Paramètres
[in] pNdkAdapter
Pointeur vers un objet d’adaptateur NDK (NDK_ADAPTER).
[in] CqDepth
Nombre maximal d’entrées d’achèvement que le CQ peut contenir. Cette valeur doit être inférieure ou égale à la valeur MaxCqDepth spécifiée dans la structure NDK_ADAPTER_INFO .
[in] CqNotification
Pointeur vers la fonction NdkCqNotificationCallback (NDK_FN_CQ_NOTIFICATION_CALLBACK) que le fournisseur utilise pour avertir le consommateur lorsque les achèvements des requêtes sont mis en file d’attente dans le CQ. Le fournisseur n’appellera pas NdkCqNotificationCallback , sauf si le consommateur associe la notification à la fonction NdkArmCq (NDK_FN_ARM_CQ).
[in, optional] CqNotificationContext
Valeur de contexte que le fournisseur NDK transmet à la fonction NdkCqNotificationCallback spécifiée dans le paramètre CqNotification .
[in, optional] Affinity
Masque d’affinité (GROUP_AFFINITY) qui fournit les processeurs préférés que le consommateur choisirait d’exécuter les rappels NdkCqNotificationCallback . Les fournisseurs doivent respecter les préférences du processeur si leur matériel sous-jacent le permet, mais les consommateurs ne peuvent pas supposer que les rappels NdkCqNotificationCallback se produisent uniquement sur les processeurs préférés. Définissez Affinité sur NULL s’il n’y a pas de processeurs préférés.
[in] CreateCompletion
Pointeur vers une fonction NdkCreateCompletion (NDK_FN_CREATE_COMPLETION) qui termine la création d’un objet NDK.
[in, optional] RequestContext
Valeur de contexte que le fournisseur NDK transmet à la fonction NdkCreateCompletion spécifiée dans le paramètre CreateCompletion .
ppNdkCq
Un pointeur vers un objet de file d’attente d’achèvement (NDK_CQ) est retourné à cet emplacement si la demande réussit sans retourner STATUS_PENDING. Si NdkCreateCq retourne STATUS_PENDING ce paramètre est ignoré et l’objet créé est retourné avec le rappel spécifié dans le paramètre CreateCompletion .
Valeur retournée
La fonction NDK_FN_CREATE_CQ retourne l’un des codes NTSTATUS suivants.
Code de retour | Description |
---|---|
|
L’objet CQ a été créé avec succès et retourné avec le paramètre *ppNdkCq . |
|
L’opération est en attente et sera terminée ultérieurement. Le fournisseur appelle la fonction spécifiée dans le paramètre CreateCompletion (NDK_FN_CREATE_COMPLETION) pour terminer l’opération en attente. |
|
La requête a échoué, car la valeur CqDepth demandée est supérieure à la valeur MaxCqDepth spécifiée dans la structure NDK_ADAPTER_INFO . |
|
La demande a échoué en raison de ressources insuffisantes.
Important La demande peut échouer en ligne et de manière asynchrone avec ce code status.
|
|
Une erreur est survenue. |
Remarques
La fonction NdkCreateCq crée un objet file d’attente d’achèvement (CQ) NDK. Si la fonction retourne STATUS_SUCCESS, l’objet créé est retourné dans le paramètre ppNdkCq . Si NdkCreateCq retourne STATUS_PENDING, l’objet créé est retourné par la fonction NdkCreateCompletion (NDK_FN_CREATE_COMPLETION) spécifiée dans le paramètre CreateCompletion .
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Aucun pris en charge, pris en charge dans NDIS 6.30 et versions ultérieures. |
Serveur minimal pris en charge | Windows Server 2012 |
Plateforme cible | Windows |
En-tête | ndkpi.h (inclure Ndkpi.h) |
IRQL | <=DISPATCH_LEVEL |
Voir aussi
Exigences relatives à la durée de vie des objets NDKPI