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


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

Подпрограмма AtaPortGetUncachedExtension выделяет некичованный общий буфер, который используется ЦП и устройством.

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

Синтаксис

PVOID AtaPortGetUnCachedExtension(
  [in] PVOID ChannelExtension,
  [in] ULONG UncachedExtensionSize,
  [in] ULONG IrbExtensionSize
);

Параметры

[in] ChannelExtension

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

[in] UncachedExtensionSize

Задает длину в байтах некшированного общего буфера. Задайте для этого параметра значение 0, если драйвер минипорта не требует некичированного расширения.

[in] IrbExtensionSize

Указывает размер в байтах, который требуется мини-драйвером для своего хранилища запросов( если таковой имеется).

Задайте для этого параметра значение 0, если драйвер мини-порта не поддерживает данные IRB, для которых требуется хранилище.

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

AtaPortGetUncachedExtension возвращает указатель виртуального адреса на некичованное расширение. Если он не может выделить запрошенную память или если память была выделена ранее, она возвращает NULL.

Замечания

Минипорт-драйвер может использовать расширения IRB в качестве хранилища для данных, определенных драйвером, таких как данные, необходимые для обработки конкретного запроса.

Драйвер порта не инициализирует расширения IRB, но задает указатель на расширение в каждом IRB, который он отправляет мини-драйверу.

Оборудование HBA может безопасно получить доступ к расширению IRB.

Драйвер минипорта не должен вызывать ataPortGetUncachedExtension из любой подпрограммы, отличной от IdeHwControl подпрограммы, и только при обработке действия управления StartChannel. Вызовы AtaPortGetUncachedExtension из других подпрограмм драйвера минипорта приводят к неправильной работе или даже сбою системы. Драйвер порта автоматически освобождает некаченое расширение после вызова IdeHwControl с действием управления StopChannel.

Требования

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

См. также

IdeHwControl