Partager via


Fonction StorPortPutScatterGatherList (storport.h)

La routine StorPortPutScatterGatherList libère toutes les ressources associées à une liste de points/regroupements créée précédemment par un appel à la routine StorPortBuildScatterGatherList .

Syntaxe

ULONG StorPortPutScatterGatherList(
  [in] PVOID                     HwDeviceExtension,
  [in] PSTOR_SCATTER_GATHER_LIST ScatterGatherList,
  [in] BOOLEAN                   WriteToDevice
);

Paramètres

[in] HwDeviceExtension

Pointeur vers l’extension de périphérique matériel pour l’adaptateur de bus hôte (HBA).

[in] ScatterGatherList

Pointeur vers une mémoire tampon qui contient une liste de points/regroupements créée précédemment par un appel à la routine StorPortBuildScatterGatherList .

[in] WriteToDevice

Valeur qui indique la direction du transfert DMA qui s’est terminé. La valeur TRUE indique un transfert de la mémoire tampon de données vers l’appareil, et FALSE indique un transfert de l’appareil vers la mémoire tampon de données.

Valeur retournée

StorPortPutScatterGatherList retourne l’un des codes status suivants :

Code de retour Description
STOR_STATUS_NOT_IMPLEMENTED
Cette fonction n’est pas implémentée sur le système d’exploitation actif.
STOR_STATUS_SUCCESS
Indique que la routine a correctement libéré la liste de points/regroupements.
STOR_STATUS_INVALID_PARAMETER
La valeur HwDeviceExtension qui a été passée était NULL.
STOR_STATUS_INVALID_IRQL
L’appel a été effectué à un IRQL non valide.

Remarques

La routine StorPortPutScatterGatherList ne libère pas la mémoire tampon pour la liste de points/regroupements, car le pilote miniport a alloué cette mémoire.

Une fois la routine StorPortPutScatterGatherList retournée, le pilote miniport peut réutiliser la mémoire tampon pour créer une liste de points/regroupements en appelant à nouveau StorPortBuildScatterGatherList . Si un pilote miniport a fini d’utiliser la mémoire tampon pour la liste de points/regroupements, il doit libérer la mémoire pour la mémoire tampon après le retour de la routine StorPortPutScatterGatherList . Si le pilote miniport alloue la mémoire tampon avec la routine StorPortAllocatePool , il doit libérer la mémoire en appelant la routine StorPortFreePool .

Configuration requise

Condition requise Valeur
Plateforme cible Universal
En-tête storport.h (inclure Storport.h)
IRQL DISPATCH_LEVEL
Règles de conformité DDI StorPortIrql(storport)

Voir aussi

StorPortBuildScatterGatherList