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 保留的物理地址范围关联的虚拟地址范围。
在 Microsoft Windows 2000 上运行的视频微型端口驱动程序应始终提交大小为 64 KB 的倍数的虚拟范围。 如果调用 AgpCommitVirtual 来提交不是 64 KB 的倍数的虚拟范围,它可能会返回无效的虚拟地址。
在 Windows XP 及更高版本上, AgpCommitVirtual 会自动扩展提交的范围,使其为 64 KB 的倍数。
当微型端口驱动程序调用 AgpCommitVirtual 时, VirtualReserveContext 标识的虚拟地址范围的一部分将映射到物理地址。 映射部分开始将 页偏移 到 VirtualReserveContext 标识的虚拟地址范围。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 在 Windows 2000 及更高版本的 Windows 操作系统中可用。 |
目标平台 | 桌面 |
标头 | videoagp.h (包括 Video.h) |
IRQL | PASSIVE_LEVEL |