Функция 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 |