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 标识的一部分虚拟地址范围将映射到物理地址。 映射部分开始 Offset 页进入虚拟地址范围,VirtualReserveContext标识。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | 在 Windows 2000 及更高版本的 Windows作系统中可用。 |
目标平台 | 桌面 |
标头 | videoagp.h (包括 Video.h) |
IRQL | PASSIVE_LEVEL |