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;
  };
  void                           D3DKMT_PTR(
    HWND    unnamedParam1,
    hWindow unnamedParam2
  );
  [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;
  void                           D3DKMT_PTR(
    const RECT   *unnamedParam1,
    pSrcSubRects unnamedParam2
  );
  [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;
  void                           D3DKMT_PTR(
    D3DKMT_HANDLE          *unnamedParam1,
    BroadcastSrcAllocation unnamedParam2
  );
  void                           D3DKMT_PTR(
    D3DKMT_HANDLE          *unnamedParam1,
    BroadcastDstAllocation unnamedParam2
  );
       UINT                           PrivateDriverDataSize;
  void                           D3DKMT_PTR(
    PVOID              unnamedParam1,
    pPrivateDriverData unnamedParam2
  );
       BOOLEAN                        bOptimizeForComposition;
} D3DKMT_PRESENT;

Members

[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.

void D3DKMT_PTR( HWND unnamedParam1, hWindow unnamedParam2)

[in] VidPnSourceId

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 di campo di bit RestrictVidPnSource è impostato nel membro Flags .

Se il flag di campo di bit RestrictVidPnSource è impostato e il membro hWindow è NULL, il membro VidPnSourceId indica quale output viene indirizzato a Bitblt a schermo intero se RestrictVidPnSource è impostato e hWindow è diverso da 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 di campo di bit ColorFill non è impostato nel membro Flags .

[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 del campo di bit Blt è impostato nel membro Flags .

Se l'handle nel membro hDestination è diverso da zero, gli handle hDestination e hWindow devono fare riferimento a due diverse allocazioni primarie delle stesse dimensioni, il dispositivo nel membro hDevice deve possedere l'origine video presente identificata dal membro VidPnSourceId e il flag di campo di bit SrcRectValid 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 colore viene impostato quando il flag di campo di bit ColorFill è impostato nel membro Flags . Un valore per la chiave di colore viene impostato quando il flag di campo di bit SrcColorKey o DstColorKey viene impostato nel membro Flags . Si noti che solo uno dei flag di campo di bit ColorFill, SrcColorKey e DstColorKey viene 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

RECT di destinazione facoltativo per il bitblt. Il RECT di destinazione viene usato solo se il flag di campo di bit DstRectValid è impostato nel membro Flags .

[in] SrcRect

RECT di origine facoltativo per bitblt. Il RECT di origine viene usato solo se il flag di campo di bit SrcRectValid è impostato nel membro Flags .

[in] SubRectCnt

Numero di aree subrectangulari a cui pSrcSubRects punta durante la presentazione.

void D3DKMT_PTR( const RECT *unnamedParam1, pSrcSubRects unnamedParam2)

[in] PresentCount

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

[in] FlipInterval

Valore tipizzato D3DDDI_FLIPINTERVAL_TYPE che indica l'intervallo di capovolgimento, ovvero se l'inversione 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 flag di campo di bit ColorFill, SrcColorKey e DstColorKey si escludono a vicenda.

[in] BroadcastContextCount

Numero di contesti aggiuntivi nella matrice specificata da BroadcastContext .

[in] BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT]

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

La trasmissione è supportata solo per le operazioni di capovolgimento. Per trasmettere un'operazione di capovolgimento, 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 di campo di bit FlipOnVSyncMmIo nel membro FlipCaps della struttura DXGK_DRIVERCAPS quando viene chiamata la funzione DxgkDdiQueryAdapterInfo .

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

[in] PresentLimitSemaphore

Handle per il semaforo present-limit.

Supportato a partire da Windows 7.

[in] PresentHistoryToken

Struttura D3DKMT_PRESENTHISTORYTOKEN che identifica il tipo di operazione corrente.

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 di DoD. Questo membro è valido solo se è impostato il flag PresentIndirect.

Duration

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

void D3DKMT_PTR( D3DKMT_HANDLE *unnamedParam1, BroadcastSrcAllocation unnamedParam2)

void D3DKMT_PTR( D3DKMT_HANDLE *unnamedParam1, BroadcastDstAllocation unnamedParam2)

PrivateDriverDataSize

Dimensioni dei dati del driver privato.

void D3DKMT_PTR( PVOID unnamedParam1, pPrivateDriverData unnamedParam2)

bOptimizeForComposition

Indica se il dispositivo è ottimizzato per la composizione.

Requisiti

Requisito Valore
Client minimo supportato Windows Vista
Intestazione d3dkmthk.h (include D3dkmthk.h)

Vedi anche

D3DDDIFORMAT

D3DKMTPresent

D3DKMT_PRESENTFLAGS

D3DKMT_PRESENTHISTORYTOKEN

D3DKMT_PRESENT_RGNS

RECT