Función AtaPortRegistryControllerKeyRead (irb.h)

La rutina AtaPortRegistryControllerKeyRead lee los datos asociados al 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 AtaPortRegistryControllerKeyRead(
  [in]            PVOID  ChannelExtension,
  [in]            UCHAR  ControllerNumber,
  [in]            PCHAR  ValueName,
  [in]            UCHAR  ValueType,
  [out, optional] 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 que se va a leer.

[in] ValueType

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

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

[out, optional] Buffer

Puntero al búfer donde se van a copiar los resultados.

BufferLength

Puntero al número de bytes de datos que se van a copiar. Si se produce un error en la operación debido a un búfer insuficiente, la ubicación a la que apunta Length se actualizará a la longitud real de los datos del registro.

Valor devuelto

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

Comentarios

El búfer en buffer debe asignarse mediante AtaPortRegistryAllocateBuffer.

El controlador de miniport debe llamar a AtaPortRegistryControllerKeyRead en su rutina AtaChannelInitRoutine o en su rutina IdeHwControl . No puede llamar a AtaPortRegistryControllerKeyRead desde cualquier otra rutina. Además, el controlador de minipuerto solo puede llamar a AtaPortRegistryControllerKeyRead 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