функция обратного вызова PAGP_RESERVE_PHYSICAL (videoagp.h)
Функция AgpReservePhysical резервирует диапазон физических адресов на системной шине, на которую контроллер AGP может реагировать.
Синтаксис
PAGP_RESERVE_PHYSICAL PagpReservePhysical;
PHYSICAL_ADDRESS PagpReservePhysical(
[in] IN PVOID HwDeviceExtension,
[in] IN ULONG Pages,
[in] IN VIDEO_PORT_CACHE_TYPE Caching,
[out] OUT PVOID *PhysicalReserveContext
)
{...}
Параметры
[in] HwDeviceExtension
Указатель на расширение устройства минипорта драйвера.
[in] Pages
Указывает количество страниц, которые должен зарезервировать драйвер видеопорта.
[in] Caching
Перечисление VIDEO_PORT_CACHE_TYPE, указывающее тип кэширования, который должна использовать система.
[out] PhysicalReserveContext
Указывает расположение, в котором драйвер видеопорта записывает дескриптор контекста, определяющий зарезервированное физическое адресное пространство.
Возвращаемое значение
AgpReservePhysical возвращает базовый адрес зарезервированного диапазона физических адресов в случае успешного выполнения; в противном случае возвращает значение NULL.
Замечания
Драйверы видеопорта, работающие в Windows 2000, всегда должны резервировать диапазон, размер которого составляет 64 килобайта. Резервирование диапазона, не равного 64 килобайтам, может привести к
В Windows XP и более поздних версиях AgpReservePhysical автоматически расширяет запрошенный диапазон до нескольких 64 килобайт.
После успешного возвращения контроллер AGP может реагировать на зарезервированный диапазон физических адресов в шине. Однако драйвер видеопорта должен сначала вызвать AgpCommitPhysical, чтобы эта память была зафиксирована перед доступом к ней, чтобы определить результаты доступа.
Минипорт-драйвер может вызывать AgpReservePhysical несколько раз, чтобы зарезервировать множество небольших диапазонов адресов, а не один большой диапазон.
Минипорт-драйвер должен вызывать AgpReleasePhysical, чтобы освободить диапазон физических адресов, если он больше не нужен.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows 2000 |
целевая платформа | Настольный |
заголовка | videoagp.h (include Video.h) |
IRQL | PASSIVE_LEVEL |