Freigeben über


AtaPortRegistryChannelSubkeyWrite-Funktion (irb.h)

Die AtaPortRegistryChannelSubKeyWrite-Routine schreibt Daten in den angegebenen Wertnamen unter dem Registrierungsschlüssel HKLM\CurrentControlSet\Services\<service name>\ControllerN\ChannelM, wobei N die Nummer des Controllers und M die Nummer des Kanals ist.

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

Syntax

BOOLEAN AtaPortRegistryChannelSubkeyWrite(
  [in] PVOID  ChannelExtension,
  [in] UCHAR  ControllerNumber,
  [in] PCHAR  ValueName,
  [in] UCHAR  ValueType,
  [in] 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 Registrierungswerts, in den geschrieben werden soll.

[in] ValueType

Gibt den Datentyp an, der im Registrierungswert enthalten ist. Diesem Member sollte einer der in der folgenden Tabelle angegebenen Werte zugewiesen werden.

Wert Bedeutung
IDE_REG_DWORD Ein numerischer Wert mit 4 Byte.
IDE_REG_BINARY Binärdaten.
IDE_REG_SZ Eine mit NULL endende Unicode-Zeichenfolge.

[in] Buffer

Ein Zeiger auf den Quellpuffer, der die Daten enthält, die in die Registrierung geschrieben werden sollen.

BufferLength

Ein Zeiger auf die Anzahl der zu kopierenden Datenbytes. Wenn der Vorgang fehlschlägt, wird der Speicherort, auf den von Length verwiesen wird, auf die Länge der Daten aktualisiert, die erfolgreich in die Registrierung geschrieben wurden.

Rückgabewert

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

Hinweise

Wenn der Wertname nicht vorhanden ist, erstellt AtaPortRegistryChannelSubKeyWrite einen Eintrag für den Wert, und die Daten werden im neu erstellten Wert gespeichert.

Der Puffer, auf den von Buffer verwiesen wird, muss mithilfe von AtaPortRegistryAllocateBuffer zugeordnet werden.

Der Miniporttreiber muss AtaPortRegistryChannelSubKeyWrite entweder während der AtaChannelInitRoutine-Routine oder der IdeHwControl-Routine aufrufen. Der Miniporttreiber kann AtaPortRegistryChannelSubKeyWrite aus keiner anderen Routine aufrufen, ohne FALSE zurückzugeben. Darüber hinaus kann der Miniporttreiber AtaPortRegistryChannelSubKeyWrite aus seiner IdeHwControl-Routine nur aufrufen, wenn seine IdeHwControl-Routine aufgerufen wurde und den Wert StartChannel oder StopChannel im ControlAction-Parameter aufweist.

Anforderungen

Anforderung Wert
Zielplattform Desktop
Kopfzeile irb.h (einschließlich Ata.h, Irb.h)

Weitere Informationen

AtaChannelInitRoutine

AtaPortRegistryChannelSubKeyRead

AtaPortRegistryChannelSubKeyWriteDeferred

IdeHwControl