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) |