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

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

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

Синтаксис

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

Параметры

[in] ChannelExtension

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

[in] ControllerNumber

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

[in] ValueName

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

[in] ValueType

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

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

[in] Buffer

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

BufferLength

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

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

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

Комментарии

Если имя значения отсутствует, AtaPortRegistryChannelSubKeyWrite создает запись для значения, и данные сохраняются во вновь созданном значении.

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

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

Требования

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

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

AtaChannelInitRoutine

AtaPortRegistryChannelSubKeyRead

AtaPortRegistryChannelSubKeyWriteDeferred

IdeHwControl