NDK_FN_CREATE_SRQ fonction de rappel (ndkpi.h)
La fonction NdkCreateSrq (NDK_FN_CREATE_SRQ) crée un objet file d’attente de réception partagée (SRQ) NDK.
NDK_FN_CREATE_SRQ NdkFnCreateSrq;
NTSTATUS NdkFnCreateSrq(
[in] NDK_PD *pNdkPd,
[in] ULONG SrqDepth,
[in] ULONG MaxReceiveRequestSge,
[in] ULONG NotifyThreshold,
[in, optional] NDK_FN_SRQ_NOTIFICATION_CALLBACK SrqNotification,
[in, optional] PVOID SrqNotificationContext,
[in, optional] GROUP_AFFINITY *Affinity,
[in] NDK_FN_CREATE_COMPLETION CreateCompletion,
[in, optional] PVOID RequestContext,
NDK_SRQ **ppNdkSrq
)
{...}
[in] pNdkPd
Pointeur vers un objet de domaine de protection (PD) NDK (NDK_PD).
[in] SrqDepth
Nombre maximal de demandes de réception qui peuvent être en suspens sur le SRQ. Cette valeur doit être inférieure ou égale à la valeur dans le membre MaxSrqDepth spécifié dans la structure NDK_ADAPTER_INFO .
[in] MaxReceiveRequestSge
Nombre maximal d’EG pris en charge dans une demande de réception unique. Cette valeur doit être inférieure ou égale à la valeur du membre MaxReceiveRequestSge spécifié dans la structure NDK_ADAPTER_INFO.
[in] NotifyThreshold
Nombre minimal de demandes de réception en file d’attente pour déclencher des rappels de notification SRQ.
[in, optional] SrqNotification
Fonction NdkSrqNotificationCallback facultative(NDK_FN_SRQ_NOTIFICATION_CALLBACK) que le fournisseur appelle si le nombre de demandes de réception en file d’attente est inférieur au seuil spécifié dans le paramètre NotifyThreshold .
[in, optional] SrqNotificationContext
Valeur de contexte que le fournisseur NDK transmet à la fonction NdkSrqNotificationCallback spécifiée dans le paramètre SrqNotification .
[in, optional] Affinity
Masque d’affinité (GROUP_AFFINITY) qui spécifie les processeurs préférés que le consommateur choisirait d’exécuter les rappels NdkSrqNotificationCallback . 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 NdkSrqNotificationCallback 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 .
ppNdkSrq
Un pointeur vers un objet SRQ créé (NDK_SRQ) 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 .
La fonction NdkCreateSrq retourne l’un des codes NTSTATUS suivants.
Code de retour | Description |
---|---|
|
L’objet SRQ a été créé avec succès et retourné avec le paramètre *ppNdkSrq . |
|
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 demande a échoué, car le SrqDepth ou MaxReceiveRequestSge demandé ne se trouve pas dans les limites spécifiées 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. |
La fonction NdkCreateSrq crée un objet file d’attente de réception partagée (SRQ) NDK. Si la fonction retourne STATUS_SUCCESS, l’objet créé est retourné dans le paramètre ppNdkSrq . Si NdkCreateSrq retourne STATUS_PENDING, l’objet créé est retourné par la fonction NdkCreateCompletion (NDK_FN_CREATE_COMPLETION) spécifiée dans le paramètre CreateCompletion .
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 |
Exigences relatives à la durée de vie des objets NDKPI