Функция VideoPortAllocateContiguousMemory (video.h)

Функция VideoPortAllocateContiguousMemory устарела в Windows 2000 и более поздних версиях. Драйверы видео минипорта должны использовать VideoPortAllocateCommonBuffer вместо нее.

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

Синтаксис

VIDEOPORT_DEPRECATED VIDEOPORT_API PVOID VideoPortAllocateContiguousMemory(
  [in] IN PVOID            HwDeviceExtension,
  [in] IN ULONG            NumberOfBytes,
  [in] IN PHYSICAL_ADDRESS HighestAcceptableAddress
);

Параметры

[in] HwDeviceExtension

Указатель на расширение устройства драйвера мини-порта.

[in] NumberOfBytes

Указывает размер в байтах блока непрерывной памяти, который необходимо выделить.

[in] HighestAcceptableAddress

Указывает максимальный допустимый физический адрес, который может использовать драйвер мини-порта. Например, если устройство может ссылаться только на физическую память с меньшими 16 МБ, это значение будет равно 0x00000000FFFFFF.

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

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

Комментарии

VideoPortAllocateContiguousMemory можно вызвать для выделения непрерывного блока физической памяти для долгосрочного внутреннего буфера.

Драйвер мини-порта, который должен использовать непрерывную память, должен выделять только то, что ему нужно во время инициализации драйвера, так как непагрегированные пулы, скорее всего, будут фрагментированы при запуске системы. Если драйвер мини-порта выгружен, он должен освободить память. Непрерывные выделения выравниваются по целочисленному кратному размеру линии кэша данных процессора, чтобы предотвратить проблемы с кэшем и coherency.

Требования

Требование Значение
Минимальная версия клиента Доступно в Windows 2000 и более поздних версиях операционных систем Windows.
Целевая платформа Персональный компьютер
Верхняя часть video.h (включить Video.h)
Библиотека Videoprt.lib
DLL Videoprt.sys
IRQL PASSIVE_LEVEL

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

VideoPortAllocateBuffer