StorPortGetUncachedExtension, fonction (storport.h)

La routine StorPortGetUncachedExtension alloue une mémoire tampon commune non mise en cache à partager par le processeur et l’appareil.

Syntaxe

STORPORT_API PVOID StorPortGetUncachedExtension(
  PVOID                           HwDeviceExtension,
  PPORT_CONFIGURATION_INFORMATION ConfigInfo,
  ULONG                           NumberOfBytes
);

Paramètres

HwDeviceExtension

Pointeur vers l’extension de périphérique matériel. Il s’agit d’une zone de stockage par HBA que le pilote de port alloue et initialise pour le compte du pilote miniport. Les pilotes Miniport stockent généralement des informations spécifiques à HBA dans cette extension, telles que l’état du HBA et les plages d’accès mappées pour l’adaptateur HBA. Cette zone est disponible pour le pilote miniport immédiatement après que le pilote miniport appelle StorPortInitialize. Le pilote de port libère cette mémoire lorsqu’il supprime l’appareil.

ConfigInfo

Spécifie des informations sur les fonctionnalités DMA de l’adaptateur HBA. Les membres suivants doivent être renseignés : DmaChannel ou DmaPort, DmaWidth, DmaSpeed, MaximumTransferLength, ScatterGather, Master défini sur TRUE, NumberOfPhysicalBreaks, AdapterInterfaceType, Dma32BitAddresses, Dma64BitAddresses, SystemIoBusNumber, AutoRequestSense et SrbExtensionSize.

Les membres qui ne sont pas pertinents pour l’adaptateur HBA, tels que DmaChannel pour un adaptateur de master bus EISA, doivent être laissés tels quel.

NumberOfBytes

Taille requise, en octets, de l’extension non mise en cache à allouer.

Valeur retournée

StorPortGetUncachedExtension retourne un pointeur d’adresse virtuelle vers l’extension non mise en cache. S’il ne peut pas allouer la mémoire demandée, il retourne NULL. Si la mémoire a été précédemment allouée, le pointeur d’adresse virtuelle vers l’extension actuelle non mise en cache est retourné.

Remarques

Les appareils master bus utilisent un espace tampon commun pour les transferts DMA.

Configuration requise

Condition requise Valeur
Plateforme cible Universal
En-tête storport.h (inclure Storport.h)
Bibliothèque Storport.lib

Voir aussi

ScsiPortGetUncachedExtension