Partager via


D3DDDICB_PRESENT structure (d3dumddi.h)

La structure D3DDDICB_PRESENT décrit les allocations vers et depuis laquelle 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

Un D3DKMT_HANDLE type de données qui représente un handle en mode noyau pour 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 à partir de.

[in] hDstAllocation

Un D3DKMT_HANDLE type de données qui représente un handle en mode noyau pour l’allocation de destination. hDstAllocation peut être égal à zéro si la destination est inconnue ; Le mode noyau détermine la destination juste avant DMA du flux de commandes matérielles vers le processeur graphique.

[in] hContext

Handle du contexte auquel le pilote envoie l’opération de copie. Le pilote d’affichage en mode utilisateur a précédemment créé ce contexte en appelant la fonction pfnCreateContextCb .

[in] BroadcastContextCount

Nombre de contextes supplémentaires dans le tableau que le membre BroadcastContext spécifie.

[in] BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT]

Tableau de descripteurs vers les contextes supplémentaires vers 1000 pour diffuser l’opération actuelle. La constante D3DDDI_MAX_BROADCAST_CONTEXT, qui est définie sur 64, définit le nombre maximal de contextes supplémentaires dans 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 retournements d’E/S mappées en mémoire (MMIO). Pour indiquer la prise en charge des retournements MMIO, le pilote de miniport d’affichage définit l’indicateur de champ binaire FlipOnVSyncMmIo dans le membre FlipCaps de la structure DXGK_DRIVERCAPS lorsque sa fonction DxgkDdiQueryAdapterInfo est appelée.

Le contexte d’origine que le membre hContext spécifie et auquel 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 vers ce contexte supplémentaire.

BroadcastSrcAllocation

Allocations du contenu qui sera présenté.

BroadcastDstAllocation

Si la valeur n’est pas égale à 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

L’intervalle de synchronisation des applications de remplacement est valide.

SyncIntervalOverride

Remplacez l’intervalle de synchronisation de l’application.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible dans Windows Vista et versions ultérieures des systèmes d’exploitation Windows.
En-tête d3dumddi.h (inclure D3dumddi.h)

Voir aussi

pfnAllocateCb

pfnPresentCb