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