设置内存分配的大小和间距

支持 GDI 硬件加速的显示微型端口驱动程序应在处理以下分配调用时设置系统或视频内存分配的大小和音调。

DxgkDdiCreateAllocation
当驱动程序处理对 DxgkDdiCreateAllocation 的调用时,它应设置系统或视频内存分配的大小(以字节为单位)。 分配的大小是通过 pCreateAllocation-> pAllocationInfo-Size> 成员设置的。 如果分配对 CPU 可见,则大小应包括间距值,即图面的宽度(包括填充)(以字节为单位)。

如果 pGetStandardAllocationDriverData pCreateGdiSurfaceData-Type>>- 成员设置为D3DKMDT_GDISURFACE_STAGING_CPUVISIBLE或D3DKMDT_GDISURFACE_EXISTINGSYSMEM,则分配对 CPU 可见。 有关这些图面类型的属性,请参阅D3DKMDT_GDISURFACETYPE中的说明。

DxgkDdiGetStandardAllocationDriverData
当驱动程序处理对 DxgkDdiGetStandardAllocationDriverData 的调用,以获取对 CPU 可见的分配时,它应:

  1. pGetStandardAllocationDriverData->StandardAllocationType 成员设置为D3DKMDT_STANDARDALLOCATION_GDISURFACE。

  2. 通过 pGetStandardAllocationDriverData pCreateGdiSurfaceData-> 成员指向的D3DKMDT_GDISURFACEDATA结构,设置 GDI 硬件加速和桌面 Windows 管理器(DWM)可用于重定向的图面的说明。 例如,通过 D3DKMDT_GDISURFACEDATA的“间距 ”成员设置分配的间距。