Поделиться через


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

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

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

Синтаксис

BOOLEAN AtaPortRegistryChannelSubkeyRead(
  [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

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

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

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

Комментарии

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

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

Требования

Требование Значение
Целевая платформа Персональный компьютер
Верхняя часть irb.h (включая Ata.h, Irb.h)

См. также раздел

AtaChannelInitRoutine

AtaPortRegistryAllocateBuffer

AtaPortRegistryChannelSubKeyWrite

IdeHwControl