D3DKMT_CREATE_DOORBELL 结构 (d3dkmthk.h)

D3DKMT_CREATE_DOORBELL 结构包含 D3DKMTCreateDoorbell 的参数

语法

typedef struct _D3DKMT_CREATE_DOORBELL {
  D3DKMT_HANDLE                hHwQueue;
  D3DKMT_HANDLE                hRingBuffer;
  D3DKMT_HANDLE                hRingBufferControl;
  D3DKMT_CREATE_DOORBELL_FLAGS Flags;
  UINT                         PrivateDriverDataSize;
  void                         D3DKMT_PTR(
    VOID              *unnamedParam1,
    PrivateDriverData unnamedParam2
  );
  void                         D3DKMT_PTR(
    VOID                      *unnamedParam1,
    DoorbellCPUVirtualAddress unnamedParam2
  );
  void                         D3DKMT_PTR(
    VOID                               *unnamedParam1,
    DoorbellSecondaryCPUVirtualAddress unnamedParam2
  );
  void                         D3DKMT_PTR(
    VOID                            *unnamedParam1,
    DoorbellStatusCPUVirtualAddress unnamedParam2
  );
  void                         D3DKMT_PTR(
    VOID                                                 *unnamedParam1,
    HwQueueProgressFenceLastQueuedValueCPUVirtualAddress unnamedParam2
  );
  D3DKMT_HANDLE                hDoorbell;
} D3DKMT_CREATE_DOORBELL;

成员

hHwQueue

[in]在先前调用 D3DKMTCreateHwQueue 时创建的硬件队列对象的 UMD 句柄。 此句柄标识需要为其分配门铃的硬件队列。

hRingBuffer

[in]UMD 先前创建的环形缓冲区分配的 UMD 句柄。 分配必须是 GPU 可见且已驻留的。 Dxgkrnl 在相应的 DxgkDdiCreateDoorbell 调用中沿 GPU 虚拟地址 (VA) 和大小传递给 KMD。 ResizeRingBufferOperation 标志是从 UMD 到 KMD 的提示,指示正在为此硬件队列重新创建一个门铃,其中包含一个新的重设大小的环形缓冲区。

hRingBufferControl

[in/optional]以前由 UMD 创建的 环形缓冲区控制分配的 UMD 句柄。 如果需要,UMD 和 KMD 可以将此分配用作控制区域来存储环形缓冲区读/写指针位置。 当 UMD 调用 D3DKMTCreateDoorbell 时,分配必须是 GPU 可见且已驻留。 Dxgkrnl 在相应的 DxgkDdiCreateDoorbell 调用中沿 GPU VA 和此分配的大小传递给 KMD。

Flags

[in/optional]指定门铃创建标志的 D3DKMT_CREATE_DOORBELL_FLAGS 值的位字段。

PrivateDriverDataSize

[in] pPrivateDriverData 指向的专用驱动程序数据的大小(以字节为单位)。

void D3DKMT_PTR( VOID *unnamedParam1, PrivateDriverData unnamedParam2)

void D3DKMT_PTR( VOID *unnamedParam1, DoorbellCPUVirtualAddress unnamedParam2)

void D3DKMT_PTR( VOID *unnamedParam1, DoorbellSecondaryCPUVirtualAddress unnamedParam2)

void D3DKMT_PTR( VOID *unnamedParam1, DoorbellStatusCPUVirtualAddress unnamedParam2)

void D3DKMT_PTR( VOID *unnamedParam1, HwQueueProgressFenceLastQueuedValueCPUVirtualAddress unnamedParam2)

hDoorbell

[out]新创建的门铃对象的运行时句柄。

注解

有关详细信息,请参阅 用户模式工作提交

要求

要求
最低受支持的客户端 Windows 11,版本 24H2 (WDDM 3.2)
标头 d3dkmthk.h

另请参阅

D3DKMT_CREATE_DOORBELL_FLAGS

D3DKMTConnectDoorbell

D3DKMTCreateAllocation

D3DKMTCreateDoorbell

DxgkDdiConnectDoorbell

DxgkDdiCreateDoorbell