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


Функция 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 можно вызвать для выделения непрерывного блока физической памяти для долгосрочного внутреннего буфера.

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

Требования

Требование Ценность
минимальные поддерживаемые клиентские Доступно в Windows 2000 и более поздних версиях операционных систем Windows.
целевая платформа Настольный
заголовка video.h (include Video.h)
библиотеки Videoprt.lib
DLL Videoprt.sys
IRQL PASSIVE_LEVEL

См. также

VideoPortAllocateBuffer