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 |