DXGKARG_CANCELCOMMAND结构(d3dkmddi.h)

指定从硬件队列中删除命令后,DxgkDdiCancelCommand 函数清理的内部资源。

语法

typedef struct _DXGKARG_CANCELCOMMAND {
  [in]  HANDLE                         hContext;
  [out] VOID                           *pDmaBuffer;
  [in]  UINT                           DmaBufferSize;
  [in]  UINT                           DmaBufferSubmissionStartOffset;
  [in]  UINT                           DmaBufferSubmissionEndOffset;
  [in]  VOID                           *pDmaBufferPrivateData;
  [in]  UINT                           DmaBufferPrivateDataSize;
  [in]  UINT                           DmaBufferPrivateDataSubmissionStartOffset;
  [in]  UINT                           DmaBufferPrivateDataSubmissionEndOffset;
  [in]  const DXGK_ALLOCATIONLIST      *pAllocationList;
  [in]  UINT                           AllocationListSize;
  [in]  const D3DDDI_PATCHLOCATIONLIST *pPatchLocationList;
  [in]  UINT                           PatchLocationListSize;
  [in]  UINT                           PatchLocationListSubmissionStart;
  [in]  UINT                           PatchLocationListSubmissionLength;
        D3DGPU_VIRTUAL_ADDRESS         DmaBufferVirtualAddress;
        UINT                           DmaBufferUmdPrivateDataSize;
} DXGKARG_CANCELCOMMAND;

成员

[in] hContext

如果驱动程序具有多引擎感知(即驱动程序支持创建上下文),则为取消请求源自的设备上下文的句柄。

对于某些分页作,hContextNULL(例如,在电源管理期间逐出整个帧缓冲区内容的分页作)。 分页作由 标志 成员中的 分页 位字段标志指示。

[out] pDmaBuffer

指向 DMA 缓冲区开头的指针,该缓冲区在 4 KB 上对齐。

[in] DmaBufferSize

pDmaBuffer 指向的 DMA 缓冲区的大小(以字节为单位)。

[in] DmaBufferSubmissionStartOffset

pDmaBuffer 的 DMA 缓冲区开头的偏移量(以字节为单位)指定到需要取消的 DMA 缓冲区部分的开头。 修补时收到的偏移量与提交时收到的偏移量匹配。

[in] DmaBufferSubmissionEndOffset

pDmaBuffer 的 DMA 缓冲区开头的偏移量(以字节为单位)指定到需要取消的 DMA 缓冲区部分的末尾。

[in] pDmaBufferPrivateData

指向与 pDmaBuffer 指向的 DMA 缓冲区关联的驱动程序驻留专用数据的指针。

[in] DmaBufferPrivateDataSize

pDmaBufferPrivateData的专用驱动程序数据的大小(以字节为单位)。

请注意,DmaBufferPrivateDataSize 表示专用驱动程序数据缓冲区的整个长度;但是,与当前取消请求关联的部分可能更小。

[in] DmaBufferPrivateDataSubmissionStartOffset

pDmaBufferPrivateData 的 DMA 缓冲区专用数据的开头,偏移量(以字节为单位)指定到与当前取消请求关联的专用数据部分的开头。

[in] DmaBufferPrivateDataSubmissionEndOffset

pDmaBufferPrivateData 的 DMA 缓冲区专用数据的开头指定的偏移量(以字节为单位)指定到与当前取消请求关联的专用数据部分的末尾。

[in] pAllocationList

指向与 pDmaBuffer 指向的 DMA 缓冲区关联的分配列表 DXGK_ALLOCATIONLIST 结构的数组的指针。

[in] AllocationListSize

pAllocationList 指定的数组中的元素数。

请注意,AllocationListSize 表示分配列表的总大小;但是,与当前取消请求关联的分配列表部分可能更小。

[in] pPatchLocationList

指向与 pDmaBuffer 指向的 DMA 缓冲区关联的修补程序位置列表 D3DDDI_PATCHLOCATIONLIST 结构的数组的指针。

请注意,数组可以以一个元素开头,该元素位于用于修补 DMA 缓冲区的范围之前。

[in] PatchLocationListSize

pPatchLocationList 指定的数组中的元素数。

请注意,PatchLocationListSize 表示修补程序位置列表的总大小;但是,驱动程序必须处理的范围通常较小。

[in] PatchLocationListSubmissionStart

pPatchLocationList 修补程序位置列表中第一个元素的索引指定必须处理。

[in] PatchLocationListSubmissionLength

pPatchLocationList 修补程序位置列表中的元素数指定必须处理。

DmaBufferVirtualAddress

DmaBufferUmdPrivateDataSize

要求

要求 价值
最低支持的客户端 Windows 8
支持的最低服务器 Windows Server 2012
标头 d3dkmddi.h

另请参阅

D3DDDI_PATCHLOCATIONLIST

DXGK_ALLOCATIONLIST

DxgkDdiCancelCommand

DxgkDdiCreateContext