Partager via


NdisBuildScatterGatherList, fonction (ndis.h)

La fonction NdisBuildScatterGatherList génère une liste de points/regroupements à l’aide des paramètres spécifiés.

Syntaxe

NDIS_STATUS NdisBuildScatterGatherList(
  [in] IN NDIS_HANDLE                          NdisHandle,
  [in] IN PNDIS_SCATTER_GATHER_LIST_PARAMETERS SGListParameters
);

Paramètres

[in] NdisHandle

Un pilote NDIS ou un handle instance obtenu lors de l’initialisation de l’appelant. Par exemple, un pilote miniport peut utiliser le handle NDIS qu’il a obtenu à partir du Fonction NdisMRegisterMiniportDriver ou MiniportInitializeEx . D’autres pilotes NDIS peuvent utiliser les handles des fonctions suivantes :

NdisRegisterProtocolDriver

NdisOpenAdapterEx

[in] SGListParameters

Pointeur vers un NDIS_SCATTER_GATHER_LIST_PARAMETERS structure qui spécifie les paramètres d’allocation de la liste de points/regroupements.

Valeur retournée

NdisBuildScatterGatherList peut retourner les valeurs status suivantes :

Code de retour Description
NDIS_STATUS_SUCCESS
L’opération s’est terminée avec succès.
NDIS_STATUS_BUFFER_TOO_SHORT
L’opération a échoué, car la longueur de la mémoire tampon spécifiée dans le membre ScatterGatherListBufferSize du NDIS_SCATTER_GATHER_LIST_PARAMETERS structure était trop courte. Dans ce cas, NDIS a fourni la taille de mémoire tampon requise dans le membre ScatterGatherListBufferSizeNeeded .

Remarques

Les pilotes NDIS appellent la fonction NdisBuildScatterGatherList pour générer une liste de points/regroupements pour une mémoire tampon. Pour appeler cette fonction, un pilote miniport spécifie un handle d’adaptateur miniport ou un pilote de protocole spécifie un handle de liaison NDIS.

L’adaptateur miniport sous-jacent doit avoir appelé NdisMRegisterScatterGatherDma avant qu’un pilote puisse appeler NdisBuildScatterGatherList.

NDIS appelle la fonction NetProcessSGList spécifiée au membre ProcessSGListHandler du NDIS_SCATTER_GATHER_LIST_PARAMETERS structure dans le contexte de NdisBuildScatterGatherList.

Les pilotes doivent appeler le Fonction NdisFreeScatterGatherList pour libérer une liste de points/regroupements créée avec le Fonction NdisBuildScatterGatherList .

Configuration requise

Condition requise Valeur
Client minimal pris en charge Pris en charge dans NDIS 6.20 et versions ultérieures.
Plateforme cible Universal
En-tête ndis.h (inclure Ndis.h)
Bibliothèque Ndis.lib
IRQL = DISPATCH_LEVEL

Voir aussi

FilterAttach

MiniportInitializeEx

NDIS_SCATTER_GATHER_LIST_PARAMETERS

NdisFRegisterFilterDriver

NdisMRegisterMiniportDriver

NdisMRegisterScatterGatherDma

NdisOpenAdapterEx

NdisRegisterProtocolDriver

NetProcessSGList