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 ist und M die Nummer des Kanals ist.

Hinweis Der ATA-Porttreiber und die ATA Miniport-Treibermodelle können in Zukunft geändert oder nicht verfügbar sein. Stattdessen empfehlen wir die Verwendung des Storport-Treibers und Storport Miniport Treibermodelle.
 

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 Element sollte einer der werte zugewiesen werden, die in der folgenden Tabelle angegeben sind.

Wert Bedeutung
IDE_REG_DWORD Ein numerischer 4-Byte-Wert.
IDE_REG_BINARY Binäre Daten.
IDE_REG_SZ Ein null-beendeter Wert. Unicode-Zeichenfolge.

[in] Buffer

Zeigen Sie auf den Quellpuffer, der die in die Registrierung zu schreibenden Daten enthält.

BufferLength

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

Rückgabewert

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

Bemerkungen

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 Buffer verweist, muss mithilfe AtaPortRegistryAllocateBuffer-zugewiesen werden.

Der Miniport-Treiber kann AtaPortRegistryChannelSubKeyWriteDeferredDeferred- von einer der Schlüsselroutinen aufrufen, die zur Kanalschnittstelle gehören.

Der Miniporttreiber darf den Puffer, auf den Buffer verweist, nach dem anfänglichen Aufruf von AtaPortRegistryChannelSubKeyWriteDeferrednicht wiederverwenden. 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 AtaPortRegistryFreeBufferaufruft.

Anforderungen

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

Siehe auch

AtaPortRegistryAllocateBuffer

AtaPortRegistryFreeBuffer