Share via


AtaPortRegistryControllerKeyRead-Funktion (irb.h)

Die AtaPortRegistryControllerKeyRead-Routine liest die Daten, die dem angegebenen Wertnamen unter dem Registrierungsschlüssel HKLM\CurrentControlSet\Services\<service name>\ControllerNzugeordnet sind, wobei N die Nummer des Controllers ist.

Hinweis Die Modelle ATA-Porttreiber und ATA-Miniporttreiber können in Zukunft geändert oder nicht mehr verfügbar sein. Stattdessen wird empfohlen, die Modelle Storport-Treiber und Storport-Miniporttreiber zu verwenden.
 

Syntax

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

Parameter

[in] ChannelExtension

Ein Zeiger auf die Kanalerweiterung.

[in] ControllerNumber

Enthält die Controllernummer.

[in] ValueName

Enthält den Namen des zu lesenden Registrierungswerts.

[in] ValueType

Gibt den Typ der Daten an, die im Registrierungswert enthalten sind. Diesem Parameter sollte einer der in der folgenden Tabelle angegebenen Werte zugewiesen werden.

Werttyp Bedeutung
IDE_REG_DWORD Ein numerischer Wert mit 4 Byte.
IDE_REG_BINARY Binärdaten.
IDE_REG_SZ Eine Unicode-Zeichenfolge mit Null-Endung.

[out, optional] Buffer

Ein Zeiger auf den Puffer, in den die Ergebnisse kopiert werden sollen.

BufferLength

Ein Zeiger auf die Anzahl der zu kopierenden Datenbytes. Wenn der Vorgang aufgrund eines unzureichenden Puffers fehlschlägt, wird der Speicherort, auf den von Length verwiesen wird, auf die tatsächliche Länge der Daten in der Registrierung aktualisiert.

Rückgabewert

AtaPortRegistryControllerKeyRead gibt TRUE zurück, wenn der Vorgang erfolgreich ist. Andernfalls wird FALSE zurückgegeben. Die AtaPortRegistryControllerKeyRead-Routine gibt auch FALSE zurück, wenn der Miniporttreiber ihn nicht aus der richtigen Routine aufruft.

Hinweise

Der Puffer bei Buffer muss mithilfe von AtaPortRegistryAllocateBuffer zugewiesen werden.

Der Miniporttreiber muss AtaPortRegistryControllerKeyRead entweder in seiner AtaChannelInitRoutine-Routine oder in seiner IdeHwControl-Routine aufrufen. AtaPortRegistryControllerKeyRead kann von keiner anderen Routine aufgerufen werden. Darüber hinaus kann der Miniporttreiber AtaPortRegistryControllerKeyRead nur über seine IdeHwControl-Routine aufrufen, wenn seine IdeHwControl-Routine aufgerufen wurde und im ControlAction-Parameter den Wert StartChannel oder StopChannel hatte.

Anforderungen

Anforderung Wert
Zielplattform Desktop
Kopfzeile irb.h (include Ata.h, Irb.h)

Weitere Informationen

AtaChannelInitRoutine

AtaPortRegistryAllocateBuffer

IdeHwControl