NDK_FN_CREATE_QP fonction de rappel (ndkpi.h)
La fonction NdkCreateQp (NDK_FN_CREATE_QP) crée un objet de paire de files d’attente NDK (QP).
Syntaxe
NDK_FN_CREATE_QP NdkFnCreateQp;
NTSTATUS NdkFnCreateQp(
[in] NDK_PD *pNdkPd,
[in] NDK_CQ *pReceiveCq,
[in] NDK_CQ *pInitiatorCq,
[in, optional] PVOID QPContext,
[in] ULONG ReceiveQueueDepth,
[in] ULONG InitiatorQueueDepth,
[in] ULONG MaxReceiveRequestSge,
[in] ULONG MaxInitiatorRequestSge,
[in] ULONG InlineDataSize,
[in] NDK_FN_CREATE_COMPLETION CreateCompletion,
[in, optional] PVOID RequestContext,
NDK_QP **ppNdkQp
)
{...}
Paramètres
[in] pNdkPd
Pointeur vers un objet de domaine de protection NDK () (NDK_).
[in] pReceiveCq
Pointeur vers une file d’attente d’achèvement (CQ) à utiliser pour recevoir des saisies semi-automatiques (NDK_CQ).
[in] pInitiatorCq
Pointeur vers un CQ à utiliser pour les achèvements de requête de l’initiateur.
[in, optional] QPContext
Valeur de contexte à renvoyer dans le QPContext membre de la structure NDK_RESULT pour toutes les requêtes publiées sur ce QP.
[in] ReceiveQueueDepth
Nombre maximal de demandes de réception pouvant être en attente sur le QP. Cette valeur doit être inférieure ou égale à la valeur de la MaxReceiveQueueDepth membre de la structure NDK_ADAPTER_INFO.
[in] InitiatorQueueDepth
Nombre maximal de requêtes initiateurs pouvant être en attente sur le QP. Cette valeur doit être inférieure ou égale à la valeur de la MaxInitiatorQueueDepth membre de la structure NDK_ADAPTER_INFO.
[in] MaxReceiveRequestSge
Nombre maximal de SGEs qui peuvent être prises en charge dans une demande de réception unique. Cette valeur doit être inférieure ou égale à la valeur de la MaxReceiveRequestSge membre de la structure NDK_ADAPTER_INFO.
[in] MaxInitiatorRequestSge
Nombre maximal de SGEs qui peuvent être prises en charge dans une requête d’initiateur unique. Cette valeur doit être inférieure ou égale à la valeur de la MaxInitiatorRequestSge membre de la structure NDK_ADAPTER_INFO.
[in] InlineDataSize
Quantité maximale de données inline en octets pouvant être envoyées dans une requête d’envoi ou d’écriture unique. Cette valeur doit être inférieure ou égale à la valeur dans la MaxInlineDataSize membre de la structure NDK_ADAPTER_INFO.
[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.
ppNdkQp
Un pointeur vers un objet QP créé (NDK_QP) est retourné à cet emplacement si la requête réussit sans retourner STATUS_PENDING. Si la requête 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 de retour
La fonction NdkCreateQp retourne l’un des codes NTSTATUS suivants.
Retourner le code | Description |
---|---|
|
L’objet QP a été créé avec succès et retourné avec le paramètre *ppNdkQp. |
|
L’opération est en attente et sera terminée ultérieurement. Le fournisseur appelle la fonction spécifiée dans la CreateCompletion paramètre(NDK_FN_CREATE_COMPLETION) pour terminer l’opération en attente. |
|
La requête a échoué, car le ReceiveQueueDepthdemandé, InitiatorQueueDepth, MaxReceiveRequestSge, MaxInitiatorRequestSgeou InlineDataSize ne sont pas dans les limites spécifiées dans la structure NDK_ADAPTER_INFO. |
|
La requête a échoué en raison de ressources insuffisantes.
Important La requête peut échouer en ligne, ainsi que de manière asynchrone avec ce code d’état.
|
|
Une erreur s’est produite. |
Remarques
La fonction NdkCreateQp crée un objet de paire de files d’attente NDK (QP). Un QP se compose d’une file d’attente de réception et d’une file d’attente initiateur. La file d’attente de réception est utilisée pour publier des demandes de réception. Une file d’attente d’initiateur est utilisée pour lancer les requêtes d’envoi, de liaison, de registre rapide, de lecture, d’écriture et d’invalidation.
Si la fonction retourne STATUS_SUCCESS, l’objet créé est retourné dans le paramètre ppNdkQp. Si NdkCreateQp retourne STATUS_PENDING, l’objet créé est retourné par la fonction NdkCreateCompletion (NDK_FN_CREATE_COMPLETION) spécifiée dans le paramètre CreateCompletion.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Aucune prise en charge, prise en charge dans NDIS 6.30 et versions ultérieures. |
serveur minimum pris en charge | Windows Server 2012 |
plateforme cible | Windows |
d’en-tête | ndkpi.h (include Ndkpi.h) |
IRQL | <=DISPATCH_LEVEL |