функция обратного вызова 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 |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по