Función AtaPortRegistryChannelSubkeyWriteDeferred (irb.h)

La rutina AtaPortRegistryChannelSubKeyWriteDeferred escribe datos de forma asincrónica en el nombre de valor indicado en la clave HKLM\CurrentControlSet\Services\<service name>\ControllerN\ChannelMdel Registro, donde N es el número del controlador y M es el número del canal.

Nota Los modelos de controlador de puerto ATA y controlador de minipuerto de ATA pueden modificarse o no estar disponibles en el futuro. En su lugar, se recomienda usar el controlador Storport y los modelos de controlador de miniport storport .
 

Sintaxis

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

Parámetros

[in] ChannelExtension

Puntero a la extensión del canal.

[in] ControllerNumber

Contiene el número de controlador.

[in] ValueName

Contiene el nombre del valor del Registro en el que se va a escribir.

[in] ValueType

Indica el tipo de datos contenidos en el valor del Registro. A este miembro se le debe asignar uno de los valores indicados en la tabla siguiente.

Valor Significado
IDE_REG_DWORD Valor numérico de 4 bytes.
IDE_REG_BINARY Datos binarios.
IDE_REG_SZ Terminado en null. Cadena Unicode.

[in] Buffer

Puntero al búfer de origen que contiene los datos que se van a escribir en el registro.

BufferLength

Puntero al número de bytes de datos que se van a copiar. Si se produce un error en la operación, la ubicación a la que apunta Length se actualizará a la longitud de los datos que se escribieron correctamente en el registro.

Valor devuelto

AtaPortRegistryChannelSubKeyWriteDeferred devuelve TRUE si la operación. De lo contrario, devuelve FALSE. La rutina también devuelve FALSE si el controlador de minipuerto no lo llama de la rutina correcta.

Comentarios

Si el nombre del valor no está presente, AtaPortRegistryChannelSubKeyWriteDeferred crea una entrada para el valor y los datos se almacenan en el valor recién creado.

El búfer al que apunta Buffer debe asignarse mediante AtaPortRegistryAllocateBuffer.

El controlador de miniport puede llamar a AtaPortRegistryChannelSubKeyWriteDeferred desde cualquiera de las rutinas clave que pertenecen a su interfaz de canal.

El controlador de miniporte no debe reutilizar el búfer al que apunta Buffer después de la llamada inicial a AtaPortRegistryChannelSubKeyWriteDeferred. Dado que la llamada es asincrónica, el búfer puede seguir apuntando a los datos que no se han vaciado en el registro. El controlador de puerto vacía los datos del búfer en el registro cuando el controlador de miniporte llama a AtaPortRegistryFreeBuffer.

Requisitos

Requisito Value
Plataforma de destino Escritorio
Encabezado irb.h (incluya Ata.h, Irb.h)

Consulte también

AtaPortRegistryAllocateBuffer

AtaPortRegistryFreeBuffer