Freigeben über


DXGKARG_CANCELCOMMAND Struktur (d3dkmddi.h)

Gibt interne Ressourcen an, die von der DxgkDdiCancelCommand Funktion bereinigt werden, nachdem ein Befehl aus der Hardwarewarteschlange entfernt wurde.

Syntax

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;

Angehörige

[in] hContext

Wenn der Treiber mehrere Engines kennt (d. h. der Treiber unterstützt die Kontexterstellung), wird ein Handle für den Gerätekontext ausgeführt, von dem die Abbruchanforderung stammt.

Bei einigen Auslagerungsvorgängen ist hContext-NULL- (z. B. Pagingvorgänge, die den Inhalt des gesamten Framepuffers während der Energieverwaltung entfernen). Pagingvorgänge werden durch das Paging- Bitfeld-Flag im Flags Member angegeben.

[out] pDmaBuffer

Ein Zeiger auf den Anfang des DMA-Puffers, der auf 4 KB ausgerichtet ist.

[in] DmaBufferSize

Die Größe des DMA-Puffers in Bytes, auf den pDmaBuffer verweist.

[in] DmaBufferSubmissionStartOffset

Der Offset (in Byte) vom Anfang des DMA-Puffers, der pDmaBuffer- angibt, den Anfang des Teils des DMA-Puffers an, der abgebrochen werden muss. Der Offset, der zur Patchzeit empfangen wird, entspricht dem Offset, der zur Übermittlungszeit empfangen wird.

[in] DmaBufferSubmissionEndOffset

Der Offset (in Byte) vom Anfang des DMA-Puffers, der pDmaBuffer- angibt, bis zum Ende des Teils des DMA-Puffers, der abgebrochen werden muss.

[in] pDmaBufferPrivateData

Ein Zeiger auf die privaten Treiberdaten, die dem DMA-Puffer zugeordnet sind, auf den pDmaBuffer verweist.

[in] DmaBufferPrivateDataSize

Die Größe der privaten Treiberdaten in Bytes bei pDmaBufferPrivateData.

Beachten Sie, dass DmaBufferPrivateDataSize- die gesamte Länge des privaten Treiberdatenpuffers darstellt; Der Teil, der der aktuellen Abbruchanforderung zugeordnet ist, ist jedoch möglicherweise kleiner.

[in] DmaBufferPrivateDataSubmissionStartOffset

Der Offset (in Bytes) vom Anfang der privaten DMA-Pufferdaten, die pDmaBufferPrivateData angibt, den Anfang des Teils der privaten Daten, der der aktuellen Abbruchanforderung zugeordnet ist.

[in] DmaBufferPrivateDataSubmissionEndOffset

Der Offset in Bytes vom Anfang der privaten DMA-Pufferdaten, die pDmaBufferPrivateData pDmaBufferPrivateData angibt, bis zum Ende des Teils der privaten Daten, die der aktuellen Abbruchanforderung zugeordnet sind.

[in] pAllocationList

Ein Zeiger auf ein Array von DXGK_ALLOCATIONLIST Strukturen für die Liste der Zuordnungen, die dem DMA-Puffer zugeordnet sind , auf den pDmaBuffer verweist.

[in] AllocationListSize

Die Anzahl der Elemente im Array, die "pAllocationList" angibt.

Beachten Sie, dass AllocationListSize die Gesamtgröße der Zuordnungsliste darstellt; Der Teil der Zuordnungsliste, der der aktuellen Abbruchanforderung zugeordnet ist, kann jedoch kleiner sein.

[in] pPatchLocationList

Ein Zeiger auf ein Array von D3DDDI_PATCHLOCATIONLIST Strukturen für die Liste der Patchspeicherorte, die dem DMA-Puffer zugeordnet sind , auf den pDmaBuffer verweist.

Beachten Sie, dass das Array mit einem Element beginnen kann, das sich vor dem Bereich befindet, der zum Patchen des DMA-Puffers verwendet wird.

[in] PatchLocationListSize

Die Anzahl der Elemente im Array, die "pPatchLocationList" angibt.

Beachten Sie, dass PatchLocationListSize die Gesamtgröße der Patchspeicherortliste darstellt; Der Bereich, den der Treiber verarbeiten muss, ist jedoch in der Regel kleiner.

[in] PatchLocationListSubmissionStart

Der Index des ersten Elements in der Patchspeicherortliste, das pPatchLocationList angibt, dass verarbeitet werden muss.

[in] PatchLocationListSubmissionLength

Die Anzahl der Elemente in der Patchspeicherortliste, die pPatchLocationList angibt, dass verarbeitet werden muss.

DmaBufferVirtualAddress

DmaBufferUmdPrivateDataSize

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 8
mindestens unterstützte Server- Windows Server 2012
Header- d3dkmddi.h

Siehe auch

D3DDDI_PATCHLOCATIONLIST

DXGK_ALLOCATIONLIST

DxgkDdiCancelCommand-

DxgkDdiCreateContext-