Função AtaPortRegistryControllerKeyWriteDeferred (irb.h)

A rotina AtaPortRegistryControllerKeyWriteDeferred grava os dados de forma assíncrona no nome do valor indicado na chave HKLM\CurrentControlSet\Services\<service name>\ControllerNdo Registro , em que N é o número do controlador.

Nota Os modelos de driver de porta do ATA e do driver de miniporto do ATA podem ser alterados ou indisponíveis no futuro. Em vez disso, recomendamos usar os modelos de driver do Storport e do driver de miniporto storport .
 

Sintaxe

BOOLEAN AtaPortRegistryControllerKeyWriteDeferred(
  [in] PVOID  ChannelExtension,
  [in] UCHAR  ControllerNumber,
  [in] PCHAR  ValueName,
  [in] UCHAR  ValueType,
  [in] PUCHAR Buffer,
       PULONG BufferLength
);

Parâmetros

[in] ChannelExtension

Um ponteiro para a extensão de canal.

[in] ControllerNumber

Contém o número do controlador.

[in] ValueName

Contém o nome do valor do Registro no qual gravar.

[in] ValueType

Indica o tipo de dados contido no valor do Registro. Esse membro deve receber um dos valores indicados na tabela a seguir.

Valor Significado
IDE_REG_DWORD Um valor numérico de 4 bytes.
IDE_REG_BINARY Dados binários.
IDE_REG_SZ Uma cadeia de caracteres Unicode terminada em nulo.

[in] Buffer

Um ponteiro para o buffer de origem que contém os dados a serem gravados no valor do Registro.

BufferLength

Um ponteiro para o número de bytes de dados a serem copiados. Se a operação falhar, o local apontado por Length será atualizado para o comprimento dos dados que foram copiados com êxito para o registro.

Retornar valor

AtaPortRegistryControllerKeyWriteDeferred retornará TRUE se a operação for bem-sucedida. Caso contrário, retornará FALSE. A rotina também retornará FALSE se o driver de miniporte não chamá-lo da rotina correta.

Comentários

Se o nome do valor não estiver presente, a rotina AtaPortRegistryControllerKeyWriteDeferred criará uma entrada para o nome do valor e armazenará os dados de entrada no nome do valor recém-criado.

O driver de miniporte pode chamar a rotina AtaPortRegistryControllerKeyWriteDeferred de qualquer uma das rotinas definidas na interface do canal.

O buffer apontado por Buffer deve ser alocado usando AtaPortRegistryAllocateBuffer. O driver de miniporte não deve reutilizar esse buffer depois de chamar AtaPortRegistryControllerKeyWriteDeferred porque o driver de porta atrasa a gravação dos dados de chave. Se o driver de miniporte reutilizar o buffer, ele poderá substituir os dados no buffer antes que o driver de porta tenha a oportunidade de armazená-los na chave do Registro. O driver de porta libera o buffer quando o driver de miniporto chama AtaPortRegistryFreeBuffer para liberar o buffer.

Requisitos

Requisito Valor
Plataforma de Destino Área de Trabalho
Cabeçalho irb.h (inclua Ata.h, Irb.h)

Confira também

AtaPortRegistryAllocateBuffer

AtaPortRegistryFreeBuffer