AtaPortRegistryControllerKeyWriteDeferred-Funktion (irb.h)
Die AtaPortRegistryControllerKeyWriteDeferred-Routine schreibt die Daten asynchron in den angegebenen Wertnamen unter dem Registrierungsschlüssel HKLM\CurrentControlSet\Services\<service name>\ControllerN
, wobei N die Nummer des Controllers ist.
Syntax
BOOLEAN AtaPortRegistryControllerKeyWriteDeferred(
[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 den Registrierungswert geschrieben werden sollen.
BufferLength
Ein Zeiger auf die Anzahl der zu kopierenden Datenbytes. Wenn der Vorgang fehlschlägt, wird der Speicherort, auf den length verweist, auf die Länge der Daten aktualisiert, die erfolgreich in die Registrierung kopiert wurden.
Rückgabewert
AtaPortRegistryControllerKeyWriteDeferred 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 die AtaPortRegistryControllerKeyWriteDeferred-Routine einen Eintrag für den Wertnamen und speichert die Eingabedaten unter dem neu erstellten Wertnamen.
Der Miniporttreiber kann die AtaPortRegistryControllerKeyWriteDeferred-Routine aus allen Routinen aufrufen, die in der Kanalschnittstelle definiert sind.
Der Puffer, auf den von Buffer verwiesen wird, muss mithilfe von AtaPortRegistryAllocateBuffer zugeordnet werden. Der Miniporttreiber darf diesen Puffer nach dem Aufruf von AtaPortRegistryControllerKeyWriteDeferred nicht wiederverwenden, da der Porttreiber das Schreiben der Schlüsseldaten verzögert. Wenn der Miniporttreiber den Puffer wiederverwendet, überschreibt er möglicherweise die Daten im Puffer, bevor der Porttreiber die Möglichkeit hat, sie im Registrierungsschlüssel zu speichern. Der Porttreiber leert den Puffer, wenn der Miniporttreiber AtaPortRegistryFreeBuffer aufruft, um den Puffer freizusetzen.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Desktop |
Kopfzeile | irb.h (einschließlich Ata.h, Irb.h) |