Freigeben über


AtaPortRegistryChannelSubkeyWriteDeferred-Funktion (irb.h)

Die AtaPortRegistryChannelSubKeyWriteDeferred-Routine schreibt Daten asynchron 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 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 AtaPortRegistryChannelSubkeyWriteDeferred(
  [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 Ein null-beendeter Wert. Unicode-Zeichenfolge.

[in] Buffer

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

AtaPortRegistryChannelSubKeyWriteDeferred gibt TRUE zurück, wenn der Vorgang. Andernfalls wird FALSE zurückgegeben. Die Routine gibt auch FALSE zurück, wenn der Miniporttreiber sie nicht aus der richtigen Routine aufruft.

Hinweise

Wenn der Wertname nicht vorhanden ist, erstellt AtaPortRegistryChannelSubKeyWriteDeferred 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 kann AtaPortRegistryChannelSubKeyWriteDeferred von einer der Schlüsselroutinen aufrufen, die zu seiner Kanalschnittstelle gehören.

Der Miniporttreiber darf den Puffer nicht wiederverwenden, auf den nach dem ersten Aufruf von AtaPortRegistryChannelSubKeyWriteDeferred verwiesen wird. Da der Aufruf asynchron ist, verweist Buffer möglicherweise weiterhin auf Daten, die nicht in die Registrierung geleert wurden. Der Porttreiber löscht die Daten im Puffer in die Registrierung, wenn der Miniporttreiber AtaPortRegistryFreeBuffer aufruft.

Anforderungen

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

Weitere Informationen

AtaPortRegistryAllocateBuffer

AtaPortRegistryFreeBuffer