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


Функция 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

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

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

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

Замечания

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

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

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

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

Требования

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

См. также

AtaPortRegistryAllocateBuffer

AtaPortRegistryFreeBuffer