Функция AtaPortRegistryAllocateBuffer (irb.h)
Подпрограмма AtaPortRegistryAllocateBuffer выделяет буфер для операций с реестром.
Синтаксис
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 |