Condividi tramite


struttura D3DKMT_PRESENT (d3dkmthk.h)

La struttura D3DKMT_PRESENT descrive l'operazione corrente.

Sintassi

typedef struct _D3DKMT_PRESENT {
  union {
    [in] D3DKMT_HANDLE hDevice;
    [in] D3DKMT_HANDLE hContext;
  };
  [in] HWND                           hWindow;
  [in] D3DDDI_VIDEO_PRESENT_SOURCE_ID VidPnSourceId;
  [in] D3DKMT_HANDLE                  hSource;
  [in] D3DKMT_HANDLE                  hDestination;
  [in] UINT                           Color;
  [in] RECT                           DstRect;
  [in] RECT                           SrcRect;
  [in] UINT                           SubRectCnt;
  [in] const RECT                     *pSrcSubRects;
  [in] UINT                           PresentCount;
  [in] D3DDDI_FLIPINTERVAL_TYPE       FlipInterval;
  [in] D3DKMT_PRESENTFLAGS            Flags;
  [in] ULONG                          BroadcastContextCount;
       D3DKMT_HANDLE                  BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT];
  [in] HANDLE                         PresentLimitSemaphore;
  [in] D3DKMT_PRESENTHISTORYTOKEN     PresentHistoryToken;
       D3DKMT_PRESENT_RGNS            *pPresentRegions;
  union {
         D3DKMT_HANDLE hAdapter;
         D3DKMT_HANDLE hIndirectContext;
  };
       UINT                           Duration;
       D3DKMT_HANDLE                  *BroadcastSrcAllocation;
       D3DKMT_HANDLE                  *BroadcastDstAllocation;
       UINT                           PrivateDriverDataSize;
       PVOID                          pPrivateDriverData;
       BOOLEAN                        bOptimizeForComposition;
} D3DKMT_PRESENT;

Membri

[in] hDevice

Tipo di dati D3DKMT_HANDLE che rappresenta un handle in modalità kernel al dispositivo a cui presentare. Un handle di dispositivo viene fornito alla funzione D3DKMTPresent nell'unione che D3DKMT_PRESENT contiene per la compatibilità con Microsoft Direct3D versione 10.

[in] hContext

Tipo di dati D3DKMT_HANDLE che rappresenta un handle in modalità kernel per il contesto di dispositivo a cui presentare.

[in] hWindow

Handle per la finestra a cui si applica il trasferimento bit-block (bitblt). Il valore null indica la finestra desktop. Il valore in hWindow può essere NULL, a meno che nel membro o ColorFill flag di flag di bit .

[in] VidPnSourceId

Il numero di identificazione in base zero dell'origine video presente in un percorso di una topologia di rete (VidPN) video su cui limitare la visualizzazione, se il flag RestrictVidPnSource campo di bit viene impostato nel membro Flag.

Se viene impostato il flag RestrictVidPnSource e il membro hWindow è NULL, il membro VidPnSourceId indica quale output è predefinito per bitblt a schermo interodirected to If RestrictVidPnSource is set and hWindow is non-NULL, VidPnSourceId indica a quale output limitare il trasferimento del blocco di bit finestra.

[in] hSource

Tipo di dati D3DKMT_HANDLE che rappresenta un handle in modalità kernel per la memoria di sistema o l'allocazione primaria da presentare, se il flag colorFill campo di bit non è impostato nel membro flag di .

[in] hDestination

Tipo di dati D3DKMT_HANDLE che rappresenta un handle in modalità kernel per l'allocazione di destinazione. hDestination può essere zero se la destinazione è sconosciuta.

L'handle in hDestination è valido solo se il flag Blt è impostato nel membro flag di .

Se l'handle nel membro hDestination è diverso da zero, l'handle hDestination e handle hWindow deve fare riferimento a due diverse allocazioni primarie della stessa dimensione, Il dispositivo nel membro hDevice deve essere proprietario dell'origine video presente identificata dal membro VidPnSourceId e il flag SrcRectValid flag di campo bit deve essere impostato nel membro Flags.

[in] Color

Valore arGB a 32 bit (vedere l'enumerazione D3DDDIFORMAT) o il valore della chiave di colore . Un valore per il riempimento del colore viene impostato quando il flag di ColorFill campo di bit viene impostato nel membro flag . Un valore per la chiave di colore viene impostato quando il flag SrcColorKey o DstColorKey flag di campo di bit viene impostato nel membro Flags. Si noti che solo uno dei flag ColorFill, SrcColorKeye flag DstColorKey bit-field è impostato in qualsiasi momento.

Se il formato primario è pallido RGB, Color contiene l'indice della tavolozza anziché il valore D3DDDIFMT_A8R8G8B8 da D3DDDIFORMAT.

[in] DstRect

La destinazione facoltativa RECT per bitblt. La proprietà RECT di destinazione viene utilizzata solo se il flag DstRectValid campo di bit viene impostato nel membro flag .

[in] SrcRect

RECT di origine facoltativo per bitblt. L'oggetto RECT di origine viene usato solo se il SrcRectValid flag di campo di bit viene impostato nel membro flag .

[in] SubRectCnt

Numero di aree subrectangulari che pSrcSubRects puntano a che vengono specificate durante la presentazione.

[in] pSrcSubRects

Puntatore a una matrice di aree subrectangulari (RECT) specificate durante la presentazione.

[in] PresentCount

Numero di operazioni presenti che possono essere accodate per il dispositivo specificato da hDevice.

[in] FlipInterval

Valore D3DDDI_FLIPINTERVAL_TYPE-typed che indica l'intervallo di capovolgimento, ovvero se lo scorrimento si verifica dopo zero, uno, due, tre o quattro sincronizzazioni verticali.

[in] Flags

Struttura D3DKMT_PRESENTFLAGS che identifica, in flag di campo di bit, come visualizzare. Si noti che i ColorFill, SrcColorKeye flag DstColorKey bit-field si escludono a vicenda.

[in] BroadcastContextCount

Numero di contesti aggiuntivi nella matrice specificata BroadcastContext.

[in] BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT]

Matrice di D3DKMT_HANDLE tipi di dati che rappresentano handle in modalità kernel nei contesti aggiuntivi a cui trasmettere l'operazione corrente. La costante D3DDDI_MAX_BROADCAST_CONTEXT, definita come 64, definisce il numero massimo di contesti a cui la progettazione immagine e configurazione OpenGL può trasmettere l'operazione corrente.

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

Il contesto originale a cui il membro hContext specifica e che openGL ICD presenta non è un elemento nella matrice BroadcastContext. Ad esempio, se la matrice BroadcastContext contiene un elemento, La progettazione immagine e configurazione OpenGL invia l'operazione presente al contesto proprietario (hContext) e trasmette a tale contesto aggiuntivo.

[in] PresentLimitSemaphore

Handle per il semaforo presente limite.

Supportato a partire da Windows 7.

[in] PresentHistoryToken

Struttura D3DKMT_PRESENTHISTORYTOKEN che identifica il tipo di operazione presente.

Supportato a partire da Windows 7.

pPresentRegions

Puntatore a una struttura D3DKMT_PRESENT_RGNS che identifica le aree dirty e move.

Supportato a partire da Windows 8.

hAdapter

Handle per la scheda grafica.

hIndirectContext

Contesto dell'adattatore indiretto per il reindirizzamento tramite il percorso corrente doD. Questo membro è valido solo se è impostato il flag PresentIndirect.

Duration

Durata per presente. Valido solo quando è impostato il flag DurationValid.

BroadcastSrcAllocation

Adattatore di visualizzazione collegato per l'origine.

BroadcastDstAllocation

Adattatore di visualizzazione collegato per la destinazione.

PrivateDriverDataSize

Dimensioni dei dati del driver privato.

pPrivateDriverData

Puntatore a un buffer che contiene dati facoltativi del driver privato.

bOptimizeForComposition

Indica se il dispositivo è ottimizzato per la composizione.

Fabbisogno

Requisito Valore
client minimo supportato Windows Vista
intestazione d3dkmthk.h (include D3dkmthk.h)

Vedere anche

D3DDDIFORMAT

D3DKMTPresent

D3DKMT_PRESENTFLAGS

D3DKMT_PRESENTHISTORYTOKEN

D3DKMT_PRESENT_RGNS

RECT