Share via


Fonction AtaPortRegistryControllerKeyRead (irb.h)

La routine AtaPortRegistryControllerKeyRead lit les données associées au nom de valeur indiqué sous la clé HKLM\CurrentControlSet\Services\<service name>\ControllerNde Registre , où N est le numéro du contrôleur.

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

Syntaxe

BOOLEAN AtaPortRegistryControllerKeyRead(
  [in]            PVOID  ChannelExtension,
  [in]            UCHAR  ControllerNumber,
  [in]            PCHAR  ValueName,
  [in]            UCHAR  ValueType,
  [out, optional] 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 à lire.

[in] ValueType

Indique le type des données contenues dans la valeur de Registre. L’une des valeurs indiquées dans le tableau suivant doit être attribuée à ce paramètre.

Type de 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.

[out, optional] Buffer

Pointeur vers la mémoire tampon où les résultats doivent être copiés.

BufferLength

Pointeur vers le nombre d’octets de données à copier. Si l’opération échoue en raison d’une mémoire tampon insuffisante, l’emplacement pointé par Longueur est mis à jour pour la longueur réelle des données dans le Registre.

Valeur retournée

AtaPortRegistryControllerKeyRead retourne TRUE si l’opération réussit. Sinon, il retourne FALSE. La routine AtaPortRegistryControllerKeyRead retourne également FALSE si le pilote miniport ne l’appelle pas à partir de la routine correcte.

Remarques

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

Le pilote miniport doit appeler AtaPortRegistryControllerKeyRead dans sa routine AtaChannelInitRoutine ou dans sa routine IdeHwControl . Il ne peut pas appeler AtaPortRegistryControllerKeyRead à partir d’une autre routine. En outre, le pilote miniport peut uniquement appeler AtaPortRegistryControllerKeyRead à partir de sa routine IdeHwControl si sa routine IdeHwControl a été appelée et a la valeur StartChannel ou StopChannel dans son paramètre ControlAction .

Configuration requise

Condition requise Valeur
Plateforme cible Desktop (Expérience utilisateur)
En-tête irb.h (inclure Ata.h, Irb.h)

Voir aussi

AtaChannelInitRoutine

AtaPortRegistryAllocateBuffer

IdeHwControl