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

Подпрограмма AtaPortRegistryAllocateBuffer выделяет буфер для операций с реестром.

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

Синтаксис

PVOID AtaPortRegistryAllocateBuffer(
  [in] PVOID ChannelExtension,
       ULONG BufferSize
);

Параметры

[in] ChannelExtension

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

BufferSize

Задает длину буфера в байтах.

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

AtaPortRegistryAllocateBuffer возвращает указатель на выделенный буфер при успешном выполнении. В противном случае возвращается значение NULL.

Комментарии

Драйвер порта позволяет драйверу мини-порта выделить один буфер для всех операций реестра. После того как драйвер мини-порта выделил буфер с ataPortRegistryAllocateBuffer, последующие вызовы AtaPortRegistryAllocateBuffer завершатся ошибкой и возвращают значение NULL. После того как драйвер мини-порта освобождает выделенный буфер с помощью вызова подпрограммы AtaPortRegistryFreeBuffer , он может снова выделить буферы, вызвав AtaPortRegistryAllocateBuffer.

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

Требования

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

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

AtaChannelInitRoutine

AtaPortRegistryFreeBuffer

IdeHwControl