функция обратного вызова PAGP_COMMIT_VIRTUAL (videoagp.h)

Функция AgpCommitVirtual сопоставляет зарезервированную виртуальную память со связанным диапазоном декодируемых AGP физических адресов.

Синтаксис

PAGP_COMMIT_VIRTUAL PagpCommitVirtual;

PVOID PagpCommitVirtual(
  [in] IN PVOID HwDeviceExtension,
  [in] IN PVOID VirtualReserveContext,
  [in] IN ULONG Pages,
  [in] IN ULONG Offset
)
{...}

Параметры

[in] HwDeviceExtension

Указатель на расширение устройства драйвера мини-порта.

[in] VirtualReserveContext

Определяет зарезервированный диапазон виртуальных адресов. Дескриптор контекста был получен из AgpReserveVirtual.

[in] Pages

Указывает количество страниц виртуальной памяти для сопоставления.

[in] Offset

Указывает смещение страницы, по которому будут фиксироваться страницы. Смещение применяется к диапазону зарезервированных виртуальных адресов, определяемого VirtualReserveContext.

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

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

Комментарии

Перед вызовом AgpCommitVirtual для фиксации диапазона виртуальных страниц необходимо выполнить следующие действия.

  • Вызовите AgpReservePhysical , чтобы зарезервировать диапазон физических адресов для использования GPU.
  • Вызовите AgpCommitPhysical , чтобы сопоставить часть (или все) зарезервированных физических адресов с заблокированными страницами в системной памяти.
  • Вызовите AgpReserveVirtual , чтобы зарезервировать диапазон виртуальных адресов, связанный с диапазоном физических адресов, зарезервированных AgpReservePhysical.
После завершения этих элементов можно вызвать AgpCommitVirtual , чтобы сопоставить часть зарезервированных виртуальных страниц со страницами, которые уже сопоставлены и заблокированы AgpCommitPhysical. Не следует пытаться сопоставить страницу виртуальных адресов, если соответствующая страница физических адресов еще не сопоставлена.

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

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

Когда драйвер мини-порта вызывает AgpCommitVirtual, часть диапазона виртуальных адресов, определяемого VirtualReserveContext , сопоставляется с физическими адресами. Сопоставленная часть начинает страницы Смещения в диапазоне виртуальных адресов, определяемом VirtualReserveContext.

Требования

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

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

AgpFreeVirtual

AgpReservePhysical

AgpReserveVirtual