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

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

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

Синтаксис

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

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

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

Комментарии

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

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

Буфер, на который указывает buffer , должен быть выделен с помощью AtaPortRegistryAllocateBuffer. Драйвер мини-порта не должен повторно использовать этот буфер после вызова AtaPortRegistryControllerKeyWriteDeferred , так как драйвер порта задерживает запись данных ключа. Если драйвер мини-порта повторно использует буфер, он может перезаписать данные в буфере, прежде чем драйвер порта сможет сохранить их в разделе реестра. Драйвер порта очищает буфер, когда драйвер минипорта вызывает AtaPortRegistryFreeBuffer для освобождения буфера.

Требования

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

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

AtaPortRegistryAllocateBuffer

AtaPortRegistryFreeBuffer