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


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

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

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

Синтаксис

BOOLEAN AtaPortRegistryChannelSubkeyWriteDeferred(
  [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 , изменится на длину данных, которые были успешно записаны в реестр.

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

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

Комментарии

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

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

Драйвер мини-порта может вызывать AtaPortRegistryChannelSubKeyWriteDeferred из любой из ключевых подпрограмм, принадлежащих интерфейсу канала.

Драйвер мини-порта не должен повторно использовать буфер, на который указывает buffer , после первоначального вызова AtaPortRegistryChannelSubKeyWriteDeferred. Так как вызов является асинхронным, Buffer может по-прежнему указывать на данные, которые не были сброшены в реестр. Драйвер порта сбрасывает данные из буфера в реестр, когда драйвер минипорта вызывает AtaPortRegistryFreeBuffer.

Требования

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

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

AtaPortRegistryAllocateBuffer

AtaPortRegistryFreeBuffer