Funzione AtaPortRegistryControllerKeyWriteDeferred (irb.h)
La routine AtaPortRegistryControllerKeyWriteDeferred scrive i dati in modo asincrono nel nome del valore indicato nella chiave del Registro di sistema HKLM\CurrentControlSet\Services\<service name>\ControllerN
, dove N è il numero del controller.
Sintassi
BOOLEAN AtaPortRegistryControllerKeyWriteDeferred(
[in] PVOID ChannelExtension,
[in] UCHAR ControllerNumber,
[in] PCHAR ValueName,
[in] UCHAR ValueType,
[in] PUCHAR Buffer,
PULONG BufferLength
);
Parametri
[in] ChannelExtension
Puntatore all'estensione del canale.
[in] ControllerNumber
Contiene il numero del controller.
[in] ValueName
Contiene il nome del valore del Registro di sistema in cui scrivere.
[in] ValueType
Indica il tipo di dati contenuti nel valore del Registro di sistema. A questo membro deve essere assegnato uno dei valori indicati nella tabella seguente.
Valore | Significato |
---|---|
IDE_REG_DWORD | Valore numerico a 4 byte. |
IDE_REG_BINARY | Dati binari. |
IDE_REG_SZ | Stringa Unicode con terminazione Null. |
[in] Buffer
Puntatore al buffer di origine che contiene i dati da scrivere nel valore del Registro di sistema.
BufferLength
Puntatore al numero di byte di dati da copiare. Se l'operazione non riesce, il percorso a cui punta Lunghezza verrà aggiornato alla lunghezza dei dati copiati correttamente nel Registro di sistema.
Valore restituito
AtaPortRegistryControllerKeyWriteDeferred restituisce TRUE se l'operazione ha esito positivo. In caso contrario, restituisce FALSE. La routine restituisce anche FALSE se il driver miniport non lo chiama dalla routine corretta.
Osservazioni
Se il nome del valore non è presente, la routine AtaPortRegistryControllerKeyWriteDeferred crea una voce per il nome del valore e archivia i dati di input sotto il nome del valore appena creato.
Il driver miniport può chiamare il AtaPortRegistryControllerKeyWriteDeferred routine da qualsiasi routine definita nell'interfaccia del canale.
Il buffer a cui punta buffer deve essere allocato usando AtaPortRegistryAllocateBuffer. Il driver miniport non deve riutilizzare questo buffer dopo aver chiamato AtaPortRegistryControllerKeyWriteDeferred perché il driver della porta ritarda la scrittura dei dati chiave. Se il driver miniport riutilizza il buffer, potrebbe sovrascrivere i dati nel buffer prima che il driver della porta abbia la possibilità di archiviarlo nella chiave del Registro di sistema. Il driver della porta scarica il buffer quando il driver miniport chiama AtaPortRegistryFreeBuffer per liberare il buffer.
Fabbisogno
Requisito | Valore |
---|---|
piattaforma di destinazione | Desktop |
intestazione | irb.h (include Ata.h, Irb.h) |