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

另请参阅

DXGKARG_OPENNATIVEFENCE

DxgkDdiCloseNativeFence

DxgkDdiCreateNativeFence