Partager via


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)

Voir aussi

pfnAllocateCb

pfnPresentCb