D3DDDICB_PRESENT struttura (d3dumddi.h)

La struttura D3DDDICB_PRESENT descrive le allocazioni copiate da e verso il contenuto.

Sintassi

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;

Members

[in] hSrcAllocation

Tipo di dati D3DKMT_HANDLE che rappresenta un handle in modalità kernel per l'allocazione di origine. La funzione pfnAllocateCb del runtime di Microsoft Direct3D restituisce questo handle. Pertanto, il driver di visualizzazione in modalità utente deve usare questo handle per copiare il contenuto da.

[in] hDstAllocation

Tipo di dati D3DKMT_HANDLE che rappresenta un handle in modalità kernel per l'allocazione di destinazione. hDstAllocation può essere zero se la destinazione è sconosciuta; la modalità kernel determina la destinazione appena prima di DMA del flusso di comandi hardware al processore grafico.

[in] hContext

Handle al contesto in cui il driver invia l'operazione di copia. Il driver di visualizzazione in modalità utente creato in precedenza questo contesto chiamando la funzione pfnCreateContextCb .

[in] BroadcastContextCount

Numero di contesti aggiuntivi nella matrice specificata dal membro BroadcastContext .

[in] BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT]

Matrice di handle per i contesti aggiuntivi a cui trasmettere l'operazione corrente. La costante D3DDDI_MAX_BROADCAST_CONTEXT, definita come 64, definisce il numero massimo di contesti aggiuntivi a cui il driver di visualizzazione in modalità utente può trasmettere l'operazione corrente.

La trasmissione è supportata solo per le operazioni di capovolgimento. Per trasmettere un'operazione di capovolgimento, il driver miniport visualizzato deve supportare i capovolgimenti basati su I/O (MMIO) mappati alla memoria. Per indicare il supporto delle capovolgimenti MMIO, il driver miniport visualizzato imposta il flag di campo a bit FlipOnVSyncMmIo nel membro FlipCaps della struttura DXGK_DRIVERCAPS quando viene chiamata la funzione DxgkDdiQueryAdapterInfo .

Il contesto originale specificato dal membro hContext e che il driver di visualizzazione in modalità utente presenta non è un elemento nella matrice BroadcastContext . Ad esempio, se la matrice BroadcastContext contiene un elemento, il driver di visualizzazione in modalità utente invia l'operazione presente al contesto di proprietà (hContext) e trasmette a tale contesto aggiuntivo.

BroadcastSrcAllocation

Allocazioni che verranno presentate.

BroadcastDstAllocation

Se non zero, rappresenta le allocazioni di destinazione del presente.

PrivateDriverDataSize

Dimensioni dei dati del driver privato in byte.

pPrivateDriverData

Dati del driver privato da passare a DdiPresent.

bOptimizeForComposition

DWM è coinvolto nella composizione.

SyncIntervalOverrideValid

L'intervallo di sincronizzazione dell'app di override è valido.

SyncIntervalOverride

Eseguire l'override dell'intervallo di sincronizzazione dell'app.

Requisiti

Requisito Valore
Client minimo supportato Disponibile in Windows Vista e versioni successive dei sistemi operativi Windows.
Intestazione d3dumddi.h (include D3dumddi.h)

Vedi anche

pfnAllocateCb

pfnPresentCb