structure D3DDDICB_PRESENT (d3dumddi.h)
La structure D3DDDICB_PRESENT décrit les allocations à partir de lesquelles le contenu est copié.
Syntaxe
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;
Membres
[in] hSrcAllocation
Type de données D3DKMT_HANDLE qui représente un handle en mode noyau à l’allocation source. La fonction pfnAllocateCb du runtime Microsoft Direct3D retourne ce handle. Par conséquent, le pilote d’affichage en mode utilisateur doit utiliser ce handle pour copier du contenu.
[in] hDstAllocation
Type de données D3DKMT_HANDLE qui représente un handle en mode noyau à l’allocation de destination. hDstAllocation peut être égal à zéro si la destination est inconnue ; Le mode noyau détermine la destination juste avant la DMA du flux de commandes matériel vers le processeur graphique.
[in] hContext
Handle vers le contexte auquel le pilote envoie l’opération de copie. Le pilote d’affichage en mode utilisateur a créé ce contexte précédemment en appelant la fonction pfnCreateContextCb.
[in] BroadcastContextCount
Nombre de contextes supplémentaires dans le tableau spécifié par le membre BroadcastContext.
[in] BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT]
Tableau de handles vers les contextes supplémentaires pour diffuser l’opération actuelle vers. La constante D3DDDI_MAX_BROADCAST_CONTEXT, définie comme 64, définit le nombre maximal de contextes supplémentaires vers lesquels le pilote d’affichage en mode utilisateur peut diffuser l’opération actuelle.
La diffusion est prise en charge uniquement pour les opérations de retournement. Pour diffuser une opération de retournement, le pilote miniport d’affichage doit prendre en charge les flips basés sur les E/S mappés en mémoire (MMIO). Pour indiquer la prise en charge des retournements MMIO, le pilote miniport d’affichage définit l’indicateur FlipOnVSyncMmIo dans le Membre flipCaps de la structure de DXGK_DRIVERCAPS lorsque sa fonction DxgkDdiQueryAdapterInfo est appelée.
Contexte d’origine auquel le membre hContext spécifie et que le pilote d’affichage en mode utilisateur présente n’est pas un élément dans le tableau BroadcastContext. Par exemple, si le tableau BroadcastContext contient un élément, le pilote d’affichage en mode utilisateur envoie l’opération actuelle au contexte propriétaire (hContext) et diffuse à ce contexte supplémentaire.
BroadcastSrcAllocation
Allocations de contenu qui seront présentées.
BroadcastDstAllocation
Si ce n’est pas zéro, représente les allocations de destination du présent.
PrivateDriverDataSize
Taille des données du pilote privé en octets.
pPrivateDriverData
Données de pilote privé à transmettre à DdiPresent.
bOptimizeForComposition
DWM est impliqué dans la composition.
SyncIntervalOverrideValid
Remplacer l’intervalle de synchronisation de l’application est valide.
SyncIntervalOverride
Remplacez l’intervalle de synchronisation de l’application.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Disponible dans Windows Vista et versions ultérieures des systèmes d’exploitation Windows. |
d’en-tête | d3dumddi.h (include D3dumddi.h) |