structure DXGIDDICB_PRESENT (dxgiddi.h)
La structure DXGIDDICB_PRESENT décrit les allocations à partir de laquelle le contenu est copié.
Syntaxe
typedef struct DXGIDDICB_PRESENT {
[in] D3DKMT_HANDLE hSrcAllocation;
[in] D3DKMT_HANDLE hDstAllocation;
[in] void *pDXGIContext;
[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;
DXGI_DDI_FLIP_INTERVAL_TYPE SyncIntervalOverride;
} DXGIDDICB_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 le 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 d’envoyer le flux de commandes matérielles via DMA au processeur graphique.
[in] pDXGIContext
Handle du contexte DXGI (Microsoft DirectX Graphics Infrastructure). Cette poignée est opaque pour le pilote. Le pilote doit affecter le handle du membre pDXGIContext de la structure DXGI_DDI_ARG_PRESENT que le pilote a reçu lors d’un appel à sa fonction PresentDXGI à ce membre.
[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 spécifié par le membre BroadcastContext .
[in] BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT]
Tableau de handles vers les contextes supplémentaires vers 2000 pour diffuser l’opération actuelle. La constante D3DDDI_MAX_BROADCAST_CONTEXT , définie comme 64, définit le nombre maximal de contextes supplémentaires sur 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ées à la mémoire (MMIO). Pour indiquer la prise en charge des flips MMIO, le pilote miniport d’affichage définit l’indicateur de champ de bits FlipOnVSyncMmIo dans le membre FlipCaps de la structure DXGK_DRIVERCAPS lorsque sa fonction DxgkDdiQueryAdapterInfo est appelée.
Le contexte d’origine spécifié par le membre hContext 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 dans 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 à DxgiPresent.
bOptimizeForComposition
DWM est impliqué dans la composition.
SyncIntervalOverrideValid
L’intervalle de synchronisation des applications de remplacement est valide.
SyncIntervalOverride
Remplacer l’intervalle de synchronisation d’application.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible dans Windows Vista et les versions ultérieures des systèmes d’exploitation Windows. |
En-tête | dxgiddi.h (include D3d10umddi.h) |