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.
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) |