Partager via


AtaPortRegistryChannelSubkeyWriteDeferred, fonction (irb.h)

La routine AtaPortRegistryChannelSubKeyWriteDeferred écrit des données de manière asynchrone dans le nom de valeur indiqué sous la clé de Registre HKLM\CurrentControlSet\Services\<service name>\ControllerN\ChannelM, où N est le nombre du contrôleur et M est le nombre du canal.

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

BOOLEAN AtaPortRegistryChannelSubkeyWriteDeferred(
  [in] PVOID  ChannelExtension,
  [in] UCHAR  ControllerNumber,
  [in] PCHAR  ValueName,
  [in] UCHAR  ValueType,
  [in] PUCHAR Buffer,
       PULONG BufferLength
);

Paramètres

[in] ChannelExtension

Pointeur vers l’extension de canal.

[in] ControllerNumber

Contient le numéro du contrôleur.

[in] ValueName

Contient le nom de la valeur de Registre dans laquelle écrire.

[in] ValueType

Indique le type de données contenues dans la valeur de Registre. Ce membre doit être affecté à l’une des valeurs indiquées dans le tableau suivant.

Valeur Signification
IDE_REG_DWORD Valeur numérique de 4 octets.
IDE_REG_BINARY Données binaires.
IDE_REG_SZ Une valeur null terminée. Chaîne Unicode.

[in] Buffer

Pointeur vers la mémoire tampon source qui contient les données à écrire dans le Registre.

BufferLength

Pointeur vers le nombre d’octets de données à copier. Si l’opération échoue, l’emplacement pointé par Longueur sera mis à jour jusqu’à la longueur des données qui ont été écrites avec succès dans le Registre.

Valeur de retour

AtaPortRegistryChannelSubKeyWriteDeferred retourne TRUE si l’opération. Sinon, elle retourne FALSE. La routine retourne également FAUX si le pilote miniport ne l’appelle pas à partir de la routine correcte.

Remarques

Si le nom de la valeur n’est pas présent, AtaPortRegistryChannelSubKeyWriteDeferred crée une entrée pour la valeur et les données sont stockées dans la valeur nouvellement créée.

La mémoire tampon pointée par tampon doit être allouée à l’aide de AtaPortRegistryAllocateBuffer.

Le pilote miniport peut appeler AtaPortRegistryChannelSubKeyWriteDeferred à partir de l’une des routines clés qui appartiennent à son interface de canal.

Le pilote miniport ne doit pas réutiliser la mémoire tampon pointée par tampon après l’appel initial à AtaPortRegistryChannelSubKeyWriteDeferred. Étant donné que l’appel est asynchrone, tampon peut toujours pointer vers les données qui n’ont pas été vidées dans le Registre. Le pilote de port vide les données de la mémoire tampon dans le Registre lorsque le pilote miniport appelle AtaPortRegistryFreeBuffer.

Exigences

Exigence Valeur
plateforme cible Bureau
d’en-tête irb.h (include Ata.h, Irb.h)

Voir aussi

AtaPortRegistryAllocateBuffer

AtaPortRegistryFreeBuffer