Condividi tramite


Funzione AtaPortRegistryControllerKeyRead (irb.h)

La routine AtaPortRegistryControllerKeyRead legge i dati associati al nome del valore indicato nella chiave HKLM\CurrentControlSet\Services\<service name>\ControllerNdel Registro di sistema , dove N è il numero del controller.

Nota I modelli di driver di porta ATA e miniport ATA potrebbero essere modificati o non disponibili in futuro. È invece consigliabile usare il driver Storport e i modelli di driver miniport Storport .
 

Sintassi

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

Parametri

[in] ChannelExtension

Puntatore all'estensione del canale.

[in] ControllerNumber

Contiene il numero del controller.

[in] ValueName

Contiene il nome del valore del Registro di sistema da leggere.

[in] ValueType

Indica il tipo di dati contenuti nel valore del Registro di sistema. A questo parametro deve essere assegnato uno dei valori indicati nella tabella seguente.

Tipo di valore Significato
IDE_REG_DWORD Valore numerico a 4 byte.
IDE_REG_BINARY Dati binari.
IDE_REG_SZ Stringa Unicode con terminazione Null.

[out, optional] Buffer

Puntatore al buffer in cui devono essere copiati i risultati.

BufferLength

Puntatore al numero di byte di dati da copiare. Se l'operazione non riesce a causa di un buffer insufficiente, il percorso a cui punta Length verrà aggiornato alla lunghezza effettiva dei dati nel Registro di sistema.

Valore restituito

AtaPortRegistryControllerKeyRead restituisce TRUE se l'operazione ha esito positivo. In caso contrario, restituisce FALSE. La routine AtaPortRegistryControllerKeyRead restituisce anche FALSE se il driver miniport non lo chiama dalla routine corretta.

Commenti

Il buffer in Buffer deve essere allocato usando AtaPortRegistryAllocateBuffer.

Il driver miniport deve chiamare AtaPortRegistryControllerKeyRead nella routine AtaChannelInitRoutine o nella routine IdeHwControl . Non può chiamare AtaPortRegistryControllerKeyRead da qualsiasi altra routine. Inoltre, il driver miniport può chiamare AtaPortRegistryControllerKeyRead dalla routine IdeHwControl solo se è stata chiamata la routine IdeHwControl e ha un valore di StartChannel o StopChannel nel parametro ControlAction.

Requisiti

Requisito Valore
Piattaforma di destinazione Desktop
Intestazione irb.h (include Ata.h, Irb.h)

Vedi anche

AtaChannelInitRoutine

AtaPortRegistryAllocateBuffer

IdeHwControl