Partager via


AtaPortGetUnCachedExtension, fonction (irb.h)

La routine AtaPortGetUncachedExtension alloue une mémoire tampon commune non mise en cache partagée par l’UC et l’appareil.

Remarque Le pilote de port ATA et les modèles de pilotes miniport ATA peuvent être modifiés ou indisponibles à l’avenir. Au lieu de cela, nous vous recommandons d’utiliser le du pilote Storport et modèles de pilotes Storport miniport.
 

Syntaxe

PVOID AtaPortGetUnCachedExtension(
  [in] PVOID ChannelExtension,
  [in] ULONG UncachedExtensionSize,
  [in] ULONG IrbExtensionSize
);

Paramètres

[in] ChannelExtension

Pointeur vers l’extension de canal.

[in] UncachedExtensionSize

Spécifie la longueur, en octets, de la mémoire tampon commune non mise en cache. Définissez ce paramètre sur 0 si le pilote miniport ne nécessite pas d’extension non mise en cache.

[in] IrbExtensionSize

Spécifie la taille, en octets, requise par le pilote miniport pour son stockage par requête, le cas échéant.

Définissez ce paramètre sur 0 si le pilote miniport ne gère pas les informations DRB pour lesquelles il nécessite un stockage.

Valeur de retour

AtaPortGetUncachedExtension retourne un pointeur d’adresse virtuelle vers l’extension non mise en cache. S’il ne peut pas allouer la mémoire demandée ou si la mémoire a été précédemment allouée, elle retourne NULL.

Remarques

Le pilote miniport peut utiliser des extensions IRB comme stockage pour des informations spécifiques au pilote, telles que des données nécessaires pour traiter une demande particulière.

Le pilote de port n’initialise pas les extensions IRB, mais définit un pointeur vers une extension dans chaque IRB qu’il envoie au pilote miniport.

Le matériel HBA peut accéder en toute sécurité à une extension IRB.

Le pilote miniport ne doit pas appeler AtaPortGetUncachedExtension de n’importe quelle routine autre que sa routine ideHwControl, et uniquement lorsqu’il traite une action de contrôle de StartChannel. Les appels de AtaPortGetUncachedExtension à partir d’autres routines de pilotes miniports entraînent une opération incorrecte ou même une défaillance système. Le pilote de port libère automatiquement l’extension non mise en cache une fois qu’elle appelle ideHwControl avec l’action de contrôle StopChannel.

Exigences

Exigence Valeur
plateforme cible Bureau
d’en-tête irb.h (include Ata.h, Irb.h)
bibliothèque Ataport.lib ; Pciidex.lib

Voir aussi

IdeHwControl