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
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour