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 입니다(예: 전원 관리 중에 전체 프레임 버퍼의 콘텐츠를 제거한 페이징 작업). 페이징 작업은 Flags 멤버의 페이징 비트 필드 플래그로 표시됩니다.

[out] pDmaBuffer

4KB에 맞춰진 DMA 버퍼의 시작 부분에 대한 포인터입니다.

[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