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;

Member

[in] hContext

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

Bei einigen Pagingvorgängen ist hContextNULL (z. B. Pagingvorgänge, die den Inhalt des gesamten Framepuffers während der Energieverwaltung entfernen). Pagingvorgänge werden durch das Bitfeldflag Paging im Flags-Element 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 zeigt.

[in] DmaBufferSubmissionStartOffset

Der Offset in Bytes vom Anfang des DMA-Puffers, den pDmaBuffer angibt, bis zum Anfang des Teils des DMA-Puffers, der abgebrochen werden muss. Der Offset, der zur Patchzeit empfangen wird, stimmt mit dem Offset überein, der zum Zeitpunkt der Übermittlung empfangen wird.

[in] DmaBufferSubmissionEndOffset

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

[in] pDmaBufferPrivateData

Ein Zeiger auf die vom Treiber ansässigen privaten Daten, die dem DMA-Puffer zugeordnet sind, auf den pDmaBuffer zeigt.

[in] DmaBufferPrivateDataSize

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

Beachten Sie, dass DmaBufferPrivateDataSize die gesamte Länge des Datenpuffers des privaten Treibers darstellt. Der Teil, der der aktuellen Abbruchanforderung zugeordnet ist, kann jedoch kleiner sein.

[in] DmaBufferPrivateDataSubmissionStartOffset

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

[in] DmaBufferPrivateDataSubmissionEndOffset

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

[in] pAllocationList

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

[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 ist, auf den pDmaBuffer zeigt.

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, die verarbeitet werden müssen.

DmaBufferVirtualAddress

DmaBufferUmdPrivateDataSize

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 8
Unterstützte Mindestversion (Server) Windows Server 2012
Kopfzeile d3dkmddi.h

Weitere Informationen

D3DDDI_PATCHLOCATIONLIST

DXGK_ALLOCATIONLIST

DxgkDdiCancelCommand

DxgkDdiCreateContext