Функция AtaPortRegistryControllerKeyRead (irb.h)

Подпрограмма AtaPortRegistryControllerKeyRead считывает данные, связанные с указанным именем значения в разделе реестра HKLM\CurrentControlSet\Services\<service name>\ControllerN, где N является числом контроллера.

Примечание В будущем модели драйверов портов ATA и мини-порта ATA могут быть изменены или недоступны. Вместо этого мы рекомендуем использовать драйвера Storport и минипорта Storport модели драйверов.
 

Синтаксис

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

Параметры

[in] ChannelExtension

Указатель на расширение канала.

[in] ControllerNumber

Содержит номер контроллера.

[in] ValueName

Содержит имя значения реестра для чтения.

[in] ValueType

Указывает тип данных, содержащихся в значении реестра. Этот параметр должен быть назначен одному из значений, указанных в следующей таблице.

Тип значения Значение
IDE_REG_DWORD 4-байтовое числовое значение.
IDE_REG_BINARY Двоичные данные.
IDE_REG_SZ Строка Юникода, завершающаяся значением NULL.

[out, optional] Buffer

Указатель на буфер, в котором копируются результаты.

BufferLength

Указатель на количество байтов данных для копирования. Если операция завершается ошибкой из-за недостаточного буфера, расположение, на которое указывает длина, обновится до фактической длины данных в реестре.

Возвращаемое значение

AtaPortRegistryControllerKeyRead возвращает TRUE, если операция завершится успешно. В противном случае возвращается FALSE. Подпрограмма AtaPortRegistryControllerKeyRead также возвращает FALSE, если драйвер минипорта не вызывает его из правильной подпрограммы.

Замечания

Буфер в буфере буфера должен быть выделен с помощью AtaPortRegistryAllocateBuffer.

Драйвер минипорта должен вызывать ataPortRegistryControllerKeyRead либо в подпрограмме AtaChannelInitRoutine, либо в подпрограмме IdeHwControl. Не удается вызвать AtaPortRegistryControllerKeyRead из любой другой подпрограммы. Кроме того, драйвер минипорта может вызывать только ataPortRegistryControllerKeyRead из подпрограммы IdeHwControl, если ее подпрограмма IdeHwControl была вызвана и имела значение StartChannel или StopChannel в параметре ControlAction ControlAction .

Требования

Требование Ценность
целевая платформа Настольный
заголовка irb.h (include Ata.h, Irb.h)

См. также

AtaChannelInitRoutine

AtaPortRegistryAllocateBuffer

IdeHwControl