NDK_FN_CREATE_SRQ fonction de rappel (ndkpi.h)
La fonction NdkCreateSrq (NDK_FN_CREATE_SRQ) crée un objet de 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 NDK () (NDK_).
[in] SrqDepth
Nombre maximal de demandes de réception pouvant être en attente sur la SRQ. Cette valeur doit être inférieure ou égale à la valeur du membre MaxSrqDepth spécifié dans la structure NDK_ADAPTER_INFO.
[in] MaxReceiveRequestSge
Nombre maximal d’E/SG 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 mises en file d’attente pour déclencher des rappels de notification SRQ.
[in, optional] SrqNotification
Un facultatif NdkSrqNotificationCallback function(NDK_FN_SRQ_NOTIFICATION_CALLBACK) que le fournisseur appelle si le nombre de demandes de réception en file d’attente tombe en dessous du 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 l’autorise, mais les consommateurs ne peuvent pas supposer que NdkSrqNotificationCallback rappels ne se produisent que sur les processeurs préférés. Définissez affinité sur NULL s’il n’existe aucun processeur préféré.
[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.
Retourner le code | 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 requête a échoué, car la SrqDepth demandée ou MaxReceiveRequestSge ne se trouve 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. |
La fonction NdkCreateSrq crée un objet de file d’attente de réception partagée NDK (SRQ). 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.
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 |
exigences de durée de vie des objets NDKPI