D3DDDICB_PRESENT-Struktur (d3dumddi.h)

Die D3DDDICB_PRESENT-Struktur beschreibt Zuordnungen, in die Inhalte kopiert werden.

Syntax

typedef struct _D3DDDICB_PRESENT {
  [in] D3DKMT_HANDLE            hSrcAllocation;
  [in] D3DKMT_HANDLE            hDstAllocation;
  [in] HANDLE                   hContext;
  [in] UINT                     BroadcastContextCount;
       HANDLE                   BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT];
       D3DKMT_HANDLE            *BroadcastSrcAllocation;
       D3DKMT_HANDLE            *BroadcastDstAllocation;
       UINT                     PrivateDriverDataSize;
       PVOID                    pPrivateDriverData;
       BOOLEAN                  bOptimizeForComposition;
       BOOL                     SyncIntervalOverrideValid;
       D3DDDI_FLIPINTERVAL_TYPE SyncIntervalOverride;
} D3DDDICB_PRESENT;

Member

[in] hSrcAllocation

Ein D3DKMT_HANDLE Datentyp, der ein Kernelmodushandle für die Quellzuordnung darstellt. Die PfnAllocateCb-Funktion der Microsoft Direct3D-Runtime gibt dieses Handle zurück. Daher sollte der Benutzermodus-Anzeigetreiber dieses Handle verwenden, um Inhalte aus zu kopieren.

[in] hDstAllocation

Ein D3DKMT_HANDLE Datentyp, der ein Kernelmodushandle für die Zielzuordnung darstellt. hDstAllocation kann null sein, wenn das Ziel unbekannt ist. Der Kernelmodus bestimmt das Ziel unmittelbar vor dem DMA des Hardwarebefehlsstreams an den Grafikprozessor.

[in] hContext

Ein Handle für den Kontext, an den der Treiber den Kopiervorgang übermittelt. Der Anzeigetreiber für den Benutzermodus hat diesen Kontext zuvor durch Aufrufen der PfnCreateContextCb-Funktion erstellt.

[in] BroadcastContextCount

Die Anzahl zusätzlicher Kontexte im Array, die vom BroadcastContext-Element angegeben wird.

[in] BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT]

Ein Array von Handles für die zusätzlichen Kontexte, an die der aktuelle aktuelle Vorgang übertragen werden soll. Die D3DDDI_MAX_BROADCAST_CONTEXT-Konstante, die als 64 definiert ist, definiert die maximale Anzahl zusätzlicher Kontexte, an die der Benutzermodusanzeigetreiber den aktuellen Vorgang übertragen kann.

Die Übertragung wird nur für Flip-Vorgänge unterstützt. Um einen Flip-Vorgang zu übertragen, muss der Anzeige-Miniporttreiber auf MMIO-Basis (Memory Mapped E/O) Flips unterstützen. Um die Unterstützung von MMIO-Flips anzugeben, legt der Anzeige-Miniporttreiber das FlipOnVSyncMmIo-Bitfeldflag im FlipCaps-Element der DXGK_DRIVERCAPS-Struktur fest, wenn die DxgkDdiQueryAdapterInfo-Funktion aufgerufen wird.

Der ursprüngliche Kontext, den der hContext-Member angibt und dem der Benutzermodusanzeigetreiber präsentiert, ist kein Element im BroadcastContext-Array . Wenn das BroadcastContext-Array beispielsweise ein Element enthält, sendet der Anzeigetreiber für den Benutzermodus den aktuellen Vorgang an den besitzenden Kontext (hContext) und sendet an diesen einen zusätzlichen Kontext.

BroadcastSrcAllocation

Zuordnungen, welche Inhalte präsentiert werden.

BroadcastDstAllocation

Wenn ungleich 0, stellt die Zielzuordnungen des Vorhandenen dar.

PrivateDriverDataSize

Private Treiberdatengröße in Byte.

pPrivateDriverData

Private Treiberdaten, die an DdiPresent übergeben werden sollen.

bOptimizeForComposition

DWM ist an der Komposition beteiligt.

SyncIntervalOverrideValid

Das Überschreiben des App-Synchronisierungsintervalls ist gültig.

SyncIntervalOverride

Überschreiben Sie das App-Synchronisierungsintervall.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar in Windows Vista und höheren Versionen der Windows-Betriebssysteme.
Kopfzeile d3dumddi.h (include D3dumddi.h)

Weitere Informationen

pfnAllocateCb

pfnPresentCb