Función AtaPortRegistryControllerKeyWrite (irb.h)

La rutina AtaPortRegistryControllerKeyWrite escribe los datos en el nombre de valor indicado en la clave HKLM\CurrentControlSet\Services\<service name>\ControllerNdel Registro , donde N es el número del controlador.

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 los modelos del controlador Storport y del controlador storport miniport .
 

Sintaxis

BOOLEAN AtaPortRegistryControllerKeyWrite(
  [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 de 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 Cadena Unicode terminada en null.

[in] Buffer

Puntero al búfer de origen que contiene los datos que se van a escribir en el valor del 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 actualizará la longitud de los datos que se copiaron correctamente en el registro.

Valor devuelto

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

Comentarios

El búfer debe asignarse mediante AtaPortRegistryAllocateBuffer.

El controlador de miniport debe llamar a AtaPortRegistryControllerKeyWrite durante la rutina AtaChannelInitRoutine o la rutina IdeHwControl . El controlador de minipuerto no puede llamar a AtaPortRegistryControllerKeyWrite desde cualquier otra rutina o devolverá FALSE. Además, el controlador de miniport solo puede llamar a AtaPortRegistryControllerKeyWrite desde su rutina IdeHwControl si se llamó a su rutina IdeHwControl y tenía un valor de StartChannel o StopChannel en su parámetro ControlAction .

Requisitos

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

Consulte también

AtaChannelInitRoutine

AtaPortRegistryAllocateBuffer

IdeHwControl