AtaPortRegistryControllerKeyWriteDeferred, fonction (irb.h)
La routine AtaPortRegistryControllerKeyWriteDeferred écrit les données de façon asynchrone dans le nom de valeur indiqué sous la clé HKLM\CurrentControlSet\Services\<service name>\ControllerN
de Registre , où N est le numéro du contrôleur.
Syntaxe
BOOLEAN AtaPortRegistryControllerKeyWriteDeferred(
[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 | Chaîne Unicode terminée par null. |
[in] Buffer
Pointeur vers la mémoire tampon source qui contient les données à écrire dans la valeur de 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 copiées dans le Registre.
Valeur retournée
AtaPortRegistryControllerKeyWriteDeferred retourne TRUE si l’opération réussit. 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, la routine AtaPortRegistryControllerKeyWriteDeferred crée une entrée pour le nom de la valeur et stocke les données d’entrée sous le nom de valeur nouvellement créé.
Le pilote miniport peut appeler la routine AtaPortRegistryControllerKeyWriteDeferred à partir de l’une des routines définies dans l’interface de canal.
La mémoire tampon pointée par Buffer doit être allouée à l’aide d’AtaPortRegistryAllocateBuffer. Le pilote miniport ne doit pas réutiliser cette mémoire tampon après avoir appelé AtaPortRegistryControllerKeyWriteDeferred , car le pilote de port retarde l’écriture des données de clé. Si le pilote miniport réutilise la mémoire tampon, il peut remplacer les données dans la mémoire tampon avant que le pilote de port ait la possibilité de les stocker dans la clé de Registre. Le pilote de port vide la mémoire tampon lorsque le pilote miniport appelle AtaPortRegistryFreeBuffer pour libérer la mémoire tampon.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | irb.h (inclure Ata.h, Irb.h) |