Partager via


DXGKARG_CANCELCOMMAND structure (d3dkmddi.h)

Spécifie les ressources internes qui sont nettoyées par la fonction DxgkDdiCancelCommand après la suppression d’une commande de la file d’attente matérielle.

Syntaxe

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;

Membres

[in] hContext

Si le pilote prend en charge plusieurs moteurs (c’est-à-dire qu’il prend en charge la création de contexte), un handle pour le contexte de périphérique d’où provient la demande d’annulation.

Pour certaines opérations de pagination, hContext a la valeur NULL (par exemple, les opérations de pagination qui suppriment le contenu de la mémoire tampon de trame entière pendant la gestion de l’alimentation). Les opérations de pagination sont indiquées par l’indicateur de champ de bits pagination dans le membre Indicateurs .

[out] pDmaBuffer

Pointeur vers le début de la mémoire tampon DMA, qui est alignée sur 4 Ko.

[in] DmaBufferSize

Taille, en octets, de la mémoire tampon DMA vers laquelle pDmaBuffer pointe.

[in] DmaBufferSubmissionStartOffset

Décalage, en octets, entre le début de la mémoire tampon DMA spécifiée par pDmaBuffer et le début de la partie de la mémoire tampon DMA qui nécessite l’annulation. Le décalage reçu au moment du correctif correspond au décalage reçu au moment de la soumission.

[in] DmaBufferSubmissionEndOffset

Décalage, en octets, entre le début de la mémoire tampon DMA que pDmaBuffer spécifie jusqu’à la fin de la partie de la mémoire tampon DMA qui nécessite l’annulation.

[in] pDmaBufferPrivateData

Pointeur vers les données privées résidentes du pilote associées à la mémoire tampon DMA vers laquelle pDmaBuffer pointe.

[in] DmaBufferPrivateDataSize

Taille, en octets, des données de pilote privé sur pDmaBufferPrivateData.

Notez que DmaBufferPrivateDataSize représente toute la longueur de la mémoire tampon de données du pilote privé ; Toutefois, la partie associée à la demande d’annulation actuelle peut être plus petite.

[in] DmaBufferPrivateDataSubmissionStartOffset

Décalage, en octets, du début des données privées de la mémoire tampon DMA que pDmaBufferPrivateData spécifie au début de la partie des données privées associées à la demande d’annulation actuelle.

[in] DmaBufferPrivateDataSubmissionEndOffset

Décalage, en octets, du début des données privées de la mémoire tampon DMA que pDmaBufferPrivateData spécifie jusqu’à la fin de la partie des données privées associées à la demande d’annulation actuelle.

[in] pAllocationList

Pointeur vers un tableau de structures DXGK_ALLOCATIONLIST pour la liste des allocations associées à la mémoire tampon DMA vers laquelle pDmaBuffer pointe.

[in] AllocationListSize

Nombre d’éléments dans le tableau spécifié par pAllocationList .

Notez que AllocationListSize représente la taille totale de la liste d’allocations ; Toutefois, la partie de la liste d’allocation associée à la demande d’annulation actuelle peut être plus petite.

[in] pPatchLocationList

Pointeur vers un tableau de structures D3DDDI_PATCHLOCATIONLIST pour la liste des emplacements de correctifs associés à la mémoire tampon DMA vers laquelle pDmaBuffer pointe.

Notez que le tableau peut commencer par un élément qui se trouve avant la plage utilisée pour corriger la mémoire tampon DMA.

[in] PatchLocationListSize

Nombre d’éléments dans le tableau spécifié par pPatchLocationList .

Notez que PatchLocationListSize représente la taille totale de la liste d’emplacements des correctifs ; toutefois, la plage que le pilote doit traiter est généralement plus petite.

[in] PatchLocationListSubmissionStart

Index du premier élément de la liste patch-location que pPatchLocationList spécifie qui doit être traité.

[in] PatchLocationListSubmissionLength

Nombre d’éléments dans la liste d’emplacements de correctif que pPatchLocationList spécifie et qui doivent être traités.

DmaBufferVirtualAddress

DmaBufferUmdPrivateDataSize

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 8
Serveur minimal pris en charge Windows Server 2012
En-tête d3dkmddi.h

Voir aussi

D3DDDI_PATCHLOCATIONLIST

DXGK_ALLOCATIONLIST

DxgkDdiCancelCommand

DxgkDdiCreateContext