Функция AtaPortRegistryControllerKeyRead (irb.h)
Подпрограмма AtaPortRegistryControllerKeyRead считывает данные, связанные с указанным именем значения в разделе HKLM\CurrentControlSet\Services\<service name>\ControllerN
реестра , где N — это номер контроллера.
Синтаксис
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
Указатель на количество байтов данных для копирования. Если операция завершается сбоем из-за недостаточного буфера, расположение, указываемое параметром Length , будет обновлено до фактической длины данных в реестре.
Возвращаемое значение
AtaPortRegistryControllerKeyRead возвращает значение TRUE , если операция выполнена успешно. В противном случае возвращается значение FALSE. Подпрограмма AtaPortRegistryControllerKeyRead также возвращает значение FALSE, если драйвер минипорта не вызывает его из правильной подпрограммы.
Комментарии
Буфер в буфере должен быть выделен с помощью AtaPortRegistryAllocateBuffer.
Драйвер мини-порта должен вызывать AtaPortRegistryControllerKeyRead в своей подпрограмме AtaChannelInitRoutine или в подпрограмме IdeHwControl . Он не может вызывать AtaPortRegistryControllerKeyRead из любой другой процедуры. Кроме того, драйвер мини-порта может вызывать AtaPortRegistryControllerKeyRead из своей подпрограммы IdeHwControl, только если была вызвана подпрограмма IdeHwControl и в параметре ControlAction было задано значение StartChannel или StopChannel.
Требования
Требование | Значение |
---|---|
Целевая платформа | Персональный компьютер |
Верхняя часть | irb.h (включая Ata.h, Irb.h) |