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 KB 的倍数的范围。 保留非 64 KB 的倍数的范围可能会导致 AgpReserveVirtual 或 AgpCommitVirtual 返回无效的虚拟地址。
在 Windows XP 及更高版本中,AgpReservePhysical 会自动将请求的范围扩展到 64 KB 的倍数。
成功返回后,AGP 控制器可以响应总线上的保留物理地址范围。 但是,视频微型端口驱动程序必须先调用 AgpCommitPhysical,才能在访问内存之前提交此内存,以便定义访问的结果。
微型端口驱动程序可以多次调用 AgpReservePhysical 来保留许多较小的地址范围,而不是一个大范围。
微型端口驱动程序应调用 AgpReleasePhysical,以在不再需要物理地址范围时释放物理地址范围。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows 2000 |
目标平台 | 桌面 |
标头 | videoagp.h (包括 Video.h) |
IRQL | PASSIVE_LEVEL |