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


функция обратного вызова 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

Указывает тип кэширования, который должна использовать система. Для этого параметра можно задать одно из следующих значений.

Значение Значение
VpNonCached Система не должна кэшировать диапазон адресов.
VpWriteCombined Система должна использовать комбинированное кэширование (WC). Сведения о кэшировании WC см. в статье Запись и объединение памяти в драйверах видео минипорта .
VpCached Система должна использовать обычное кэширование.

[out] PhysicalReserveContext

Указывает расположение, в котором драйвер видеопорта записывает дескриптор контекста, идентифицирующий зарезервированное физическое адресное пространство.

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

AgpReservePhysical возвращает базовый адрес зарезервированного диапазона физических адресов в случае успешного выполнения; В противном случае возвращается значение NULL.

Комментарии

Драйверы видео минипорта, которые работают в Microsoft Windows 2000, всегда должны резервировать диапазон, размер которого кратен 64 килобайтам. Резервирование диапазона, не кратного 64 килобайта, может привести к тому, что AgpReserveVirtual или AgpCommitVirtual возвращают недопустимый виртуальный адрес.

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

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

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

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

Требования

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

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

AgpCommitPhysical

AgpReleasePhysical

AgpReserveVirtual