Condividi tramite


Funzione AtaPortRegistryControllerKeyWriteDeferred (irb.h)

La routine AtaPortRegistryControllerKeyWriteDeferred scrive i dati in modo asincrono nel nome del valore indicato nella chiave HKLM\CurrentControlSet\Services\<service name>\ControllerNdel Registro di sistema , dove N è il numero del controller.

Nota I modelli di driver di porta ATA e ATA miniport possono essere modificati o non disponibili in futuro. È invece consigliabile usare i modelli di driver Storport e Miniport Storport.
 

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 da scrivere.

[in] ValueType

Indica il tipo di dati contenuti nel valore del Registro di sistema. 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 ha esito negativo, il percorso a cui punta per lunghezza verrà aggiornato alla lunghezza dei dati copiati correttamente nel Registro di sistema.

Valore restituito

AtaPortRegistryControllerKeyWriteDeferred restituisceTRUE 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.

Commenti

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 la routine AtaPortRegistryControllerKeyWriteDeferred da una delle routine definite nell'interfaccia del canale.

Il buffer a cui punta il buffer deve essere allocato usando AtaPortRegistryAllocateBuffer. Il driver miniport non deve riutilizzare questo buffer dopo che chiama AtaPortRegistryControllerKeyWriteDeferred perché il driver di 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 l'opportunità di archiviarlo nella chiave del Registro di sistema. Il driver di porta scarica il buffer quando il driver miniport chiama AtaPortRegistryFreeBuffer per liberare il buffer.

Requisiti

Requisito Valore
Piattaforma di destinazione Desktop
Intestazione irb.h (include Ata.h, Irb.h)

Vedi anche

AtaPortRegistryAllocateBuffer

AtaPortRegistryFreeBuffer