Share via


estrutura DXGKARG_CANCELCOMMAND (d3dkmddi.h)

Especifica recursos internos que são limpos pela função DxgkDdiCancelCommand depois que um comando é removido da fila de hardware.

Sintaxe

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;

Membros

[in] hContext

Se o driver estiver ciente de vários mecanismos (ou seja, o driver dá suporte à criação de contexto), um identificador para o contexto do dispositivo do qual a solicitação de cancelamento se originou.

Para algumas operações de paginação, hContext é NULL (por exemplo, operações de paginação que removem o conteúdo de todo o buffer de quadro durante o gerenciamento de energia). As operações de paginação são indicadas pelo sinalizador de campo de bit paginação no membro Flags .

[out] pDmaBuffer

Um ponteiro para o início do buffer de DMA, que está alinhado em 4 KB.

[in] DmaBufferSize

O tamanho, em bytes, do buffer de DMA para o qual pDmaBuffer aponta.

[in] DmaBufferSubmissionStartOffset

O deslocamento, em bytes, desde o início do buffer de DMA que pDmaBuffer especifica para o início da parte do buffer de DMA que requer cancelamento. O deslocamento recebido no momento do patch corresponde ao deslocamento recebido no momento do envio.

[in] DmaBufferSubmissionEndOffset

O deslocamento, em bytes, desde o início do buffer de DMA que pDmaBuffer especifica até o final da parte do buffer de DMA que requer cancelamento.

[in] pDmaBufferPrivateData

Um ponteiro para os dados privados residentes no driver associados ao buffer de DMA para o qual pDmaBuffer aponta.

[in] DmaBufferPrivateDataSize

O tamanho, em bytes, dos dados do driver privado em pDmaBufferPrivateData.

Observe que DmaBufferPrivateDataSize representa todo o comprimento do buffer de dados do driver privado; no entanto, a parte associada à solicitação de cancelamento atual pode ser menor.

[in] DmaBufferPrivateDataSubmissionStartOffset

O deslocamento, em bytes, desde o início dos dados privados do buffer de DMA que pDmaBufferPrivateData especifica para o início da parte dos dados privados associados à solicitação de cancelamento atual.

[in] DmaBufferPrivateDataSubmissionEndOffset

O deslocamento, em bytes, desde o início dos dados privados do buffer de DMA que pDmaBufferPrivateData especifica até o final da parte dos dados privados associados à solicitação de cancelamento atual.

[in] pAllocationList

Um ponteiro para uma matriz de estruturas de DXGK_ALLOCATIONLIST para a lista de alocações associadas ao buffer de DMA para o qual pDmaBuffer aponta.

[in] AllocationListSize

O número de elementos na matriz que pAllocationList especifica.

Observe que AllocationListSize representa o tamanho total da lista de alocação; no entanto, a parte da lista de alocação associada à solicitação de cancelamento atual pode ser menor.

[in] pPatchLocationList

Um ponteiro para uma matriz de estruturas de D3DDDI_PATCHLOCATIONLIST para a lista de locais de patch associados ao buffer de DMA para o qual pDmaBuffer aponta.

Observe que a matriz pode começar com um elemento que está antes do intervalo usado para corrigir o buffer de DMA.

[in] PatchLocationListSize

O número de elementos na matriz que pPatchLocationList especifica.

Observe que PatchLocationListSize representa o tamanho total da lista de locais de patch; no entanto, o intervalo que o driver deve processar normalmente é menor.

[in] PatchLocationListSubmissionStart

O índice do primeiro elemento na lista de localização de patch que pPatchLocationList especifica que deve ser processado.

[in] PatchLocationListSubmissionLength

O número de elementos na lista de locais de patch que pPatchLocationList especifica que devem ser processados.

DmaBufferVirtualAddress

DmaBufferUmdPrivateDataSize

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 8
Servidor mínimo com suporte Windows Server 2012
Cabeçalho d3dkmddi.h

Confira também

D3DDDI_PATCHLOCATIONLIST

DXGK_ALLOCATIONLIST

DxgkDdiCancelCommand

DxgkDdiCreateContext