DXGKDDI_OPENNATIVEFENCE回调函数 (d3dkmddi.h)
DXgkDdiOpenNativeFence 由 OS 调用,以打开本机 GPU 围栏对象。
语法
DXGKDDI_OPENNATIVEFENCE DxgkddiOpennativefence;
NTSTATUS DxgkddiOpennativefence(
IN_CONST_HANDLE hAdapter,
INOUT_PDXGKARG_OPENNATIVEFENCE pOpenNativeFence
)
{...}
参数
hAdapter
[in]与显示适配器关联的上下文块的句柄。 显示微型端口驱动程序以前提供了此句柄,用于在 DXGKDDI_ADD_DEVICE 函数的 MiniportDeviceContext 输出参数中 Dxgkrnl。
pOpenNativeFence
[in/out]指向描述要打开的本机 GPU 围栏的 DXGKARG_OPENNATIVEFENCE 结构的指针。
返回值
如果 KMD 能够成功打开本机 GPU 围栏对象,则 DxgkDDdiOpenNativeFence 返回STATUS_SUCCESS。 否则,它将返回适当的 NTSTATUS 错误代码。
言论
DxgkDdiOpenNativeFence 之前,始终调用 DxgkDdiCreateNativeFence。
如果第二个进程使用 D3DKMT_OPENNATIVEFENCEFROMNTHANDLE打开共享本机围栏对象,Dxgkrnl 执行以下作:
- 找到 hGlobalNativeFence。
- 为第二个进程的地址空间中的现有对象创建新的 CPU 虚拟地址(VA)和 GPU VA 映射。
Dxgkrnl 通过调用 DxgkDdiOpenNativeFence 以及新的 hLocalNativeFence 句柄将此有效负载传递给 KMD。
有关本机 GPU 围栏的详细信息,请参阅 本机 GPU 围栏对象。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows 11 版本 24H2 |
标头 | d3dkmddi.h |
IRQL | PASSIVE_LEVEL |