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


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

В Windows XP и более поздних версиях AgpReservePhysical автоматически расширяет запрошенный диапазон до нескольких 64 килобайт.

После успешного возвращения контроллер AGP может реагировать на зарезервированный диапазон физических адресов в шине. Однако драйвер видеопорта должен сначала вызвать AgpCommitPhysical, чтобы эта память была зафиксирована перед доступом к ней, чтобы определить результаты доступа.

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

Минипорт-драйвер должен вызывать AgpReleasePhysical, чтобы освободить диапазон физических адресов, если он больше не нужен.

Требования

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

См. также

AgpCommitPhysical

AgpReleasePhysical

AgpReserveVirtual