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

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

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

[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

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

[in] AllocationListSize

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

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

[in] pPatchLocationList

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

请注意,数组可以以元素开头,该元素位于用于修补 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