DXGKDDI_OPENNATIVEFENCE回调函数 (d3dkmddi.h)

OS 调用 DxgkDdiOpenNativeFence 以打开本机 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 围栏对象,DxgkDdiOpenNativeFence 将返回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