Fonction AtaPortRegistryChannelSubkeyWriteDeferred (irb.h)
La routine AtaPortRegistryChannelSubKeyWriteDeferred écrit les données de manière asynchrone dans le nom de valeur indiqué sous la clé HKLM\CurrentControlSet\Services\<service name>\ControllerN\ChannelM
de Registre , où N est le numéro du contrôleur et M le numéro du canal.
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. L’une des valeurs indiquées dans le tableau suivant doit être affectée à ce membre.
Valeur | Signification |
---|---|
IDE_REG_DWORD | Valeur numérique de 4 octets. |
IDE_REG_BINARY | Données binaires. |
IDE_REG_SZ | Terminé par une valeur Null. 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 est mis à jour avec la longueur des données qui ont été correctement écrites dans le Registre.
Valeur retournée
AtaPortRegistryChannelSubKeyWriteDeferred retourne TRUE si l’opération. Sinon, elle retourne FALSE. La routine retourne également FALSE 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 Buffer doit être allouée à l’aide de AtaPortRegistryAllocateBuffer.
Le pilote miniport peut appeler AtaPortRegistryChannelSubKeyWriteDeferred à partir de n’importe quelle routine de clé qui appartient à son interface de canal.
Le pilote miniport ne doit pas réutiliser la mémoire tampon pointée par Buffer après l’appel initial à AtaPortRegistryChannelSubKeyWriteDeferred. Étant donné que l’appel est asynchrone, Buffer peut toujours pointer vers des 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.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | irb.h (inclure Ata.h, Irb.h) |