structure D3DKMT_PRESENT (d3dkmthk.h)
La structure D3DKMT_PRESENT décrit l’opération actuelle.
Syntaxe
typedef struct _D3DKMT_PRESENT {
union {
[in] D3DKMT_HANDLE hDevice;
[in] D3DKMT_HANDLE hContext;
};
[in] HWND hWindow;
[in] D3DDDI_VIDEO_PRESENT_SOURCE_ID VidPnSourceId;
[in] D3DKMT_HANDLE hSource;
[in] D3DKMT_HANDLE hDestination;
[in] UINT Color;
[in] RECT DstRect;
[in] RECT SrcRect;
[in] UINT SubRectCnt;
[in] const RECT *pSrcSubRects;
[in] UINT PresentCount;
[in] D3DDDI_FLIPINTERVAL_TYPE FlipInterval;
[in] D3DKMT_PRESENTFLAGS Flags;
[in] ULONG BroadcastContextCount;
D3DKMT_HANDLE BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT];
[in] HANDLE PresentLimitSemaphore;
[in] D3DKMT_PRESENTHISTORYTOKEN PresentHistoryToken;
D3DKMT_PRESENT_RGNS *pPresentRegions;
union {
D3DKMT_HANDLE hAdapter;
D3DKMT_HANDLE hIndirectContext;
};
UINT Duration;
D3DKMT_HANDLE *BroadcastSrcAllocation;
D3DKMT_HANDLE *BroadcastDstAllocation;
UINT PrivateDriverDataSize;
PVOID pPrivateDriverData;
BOOLEAN bOptimizeForComposition;
} D3DKMT_PRESENT;
Membres
[in] hDevice
Un D3DKMT_HANDLE type de données qui représente un handle en mode noyau pour l’appareil à présenter. Un handle d’appareil est fourni à la fonction D3DKMTPresent dans l’union que D3DKMT_PRESENT contient à des fins de compatibilité avec Microsoft Direct3D version 10.
[in] hContext
Un D3DKMT_HANDLE type de données qui représente un handle en mode noyau dans le contexte de l’appareil à présenter.
[in] hWindow
Handle de la fenêtre à laquelle le transfert de bloc de bits (bitblt) s’applique. La valeur NULL indique la fenêtre de bureau. La valeur dans hWindow peut être NULL , sauf si l’indicateur de champ de bits Blt ou ColorFill est spécifié dans le membre Flags .
[in] VidPnSourceId
Numéro d’identification de base zéro de la source vidéo présente dans un chemin d’accès d’une topologie de réseau vidéo présent (VidPN) sur lequel restreindre l’affichage, si l’indicateur de champ de bits RestrictVidPnSource est défini dans le membre Indicateurs .
Si l’indicateur de champ de bits RestrictVidPnSource est défini et que le membre hWindow a la valeur NULL, le membre VidPnSourceId indique la sortie vers laquelle le bitblt plein écran est dirigé vers Si RestrictVidPnSource est défini et que hWindow est non NULL, VidPnSourceId indique à quelle sortie restreindre le transfert de bloc de bits fenêtré.
[in] hSource
Un D3DKMT_HANDLE type de données qui représente un handle en mode noyau pour la mémoire système ou l’allocation primaire à partir de laquelle présenter, si l’indicateur de champ de bits ColorFill n’est pas défini dans le membre Flags .
[in] hDestination
Un D3DKMT_HANDLE type de données qui représente un handle en mode noyau pour l’allocation de destination. hDestination peut être zéro si la destination est inconnue.
Le handle dans hDestination n’est valide que si l’indicateur de champ de bits Blt est défini dans le membre Flags .
Si le handle dans le membre hDestination est différent de zéro, les handles hDestination et hWindow doivent faire référence à deux allocations principales différentes de la même taille, l’appareil dans le membre hDevice doit posséder la source présente vidéo identifiée par le membre VidPnSourceId , et l’indicateur de champ de bits SrcRectValid doit être défini dans le membre Flags .
[in] Color
La valeur de remplissage de couleur ou de clé de couleur ARGB 32 bits (voir l’énumération D3DDDIFORMAT ) . Une valeur pour le remplissage de couleur est définie lorsque l’indicateur de champ de bits ColorFill est défini dans le membre Indicateurs . Une valeur pour la clé de couleur est définie lorsque l’indicateur de champ binaire SrcColorKey ou DstColorKey est défini dans le membre Flags . Notez qu’un seul des indicateurs de champ de bits ColorFill, SrcColorKey et DstColorKey est défini à tout moment.
Si le format principal est RVB palettisé, Color contient l’index de palette plutôt que la valeur D3DDDIFMT_A8R8G8B8 de D3DDDIFORMAT.
[in] DstRect
RECT de destination facultative pour le bitblt. Le RECT de destination est utilisé uniquement si l’indicateur de champ de bits DstRectValid est défini dans le membre Flags .
[in] SrcRect
RECT source facultative pour le bitblt. Le RECT source est utilisé uniquement si l’indicateur de champ de bits SrcRectValid est défini dans le membre Flags .
[in] SubRectCnt
Nombre de régions sous-rectangulaires vers lesquelles pSrcSubRects pointe et qui sont spécifiées lors de la présentation.
[in] pSrcSubRects
Pointeur vers un tableau de régions sous-rectangulaires (RECT) spécifiées lors de la présentation.
[in] PresentCount
Nombre d’opérations présentes pouvant être mises en file d’attente pour l’appareil spécifié par hDevice.
[in] FlipInterval
Valeur de type D3DDDI_FLIPINTERVAL_TYPE qui indique l’intervalle de basculement (autrement dit, si le basculement se produit après zéro, une, deux, trois ou quatre synchronisations verticales).
[in] Flags
Une structure D3DKMT_PRESENTFLAGS qui identifie, dans les indicateurs de champ de bits, comment afficher. Notez que les indicateurs de champ bit ColorFill, SrcColorKey et DstColorKey s’excluent mutuellement.
[in] BroadcastContextCount
Nombre de contextes supplémentaires dans le tableau spécifié par BroadcastContext .
[in] BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT]
Tableau de D3DKMT_HANDLE types de données qui représentent des handles en mode noyau vers les contextes supplémentaires dans ant l’opération actuelle. La constante D3DDDI_MAX_BROADCAST_CONTEXT, qui est définie comme 64, définit le nombre maximal de contextes dans lesquels l’ICD OpenGL 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 l’ICD OpenGL présente n’est pas un élément dans le tableau BroadcastContext . Par exemple, si le tableau BroadcastContext contient un élément, l’ICD OpenGL envoie l’opération actuelle au contexte propriétaire (hContext) et diffuse dans ce contexte supplémentaire.
[in] PresentLimitSemaphore
Poignée au sémaphore de limite actuelle.
Pris en charge à partir de Windows 7.
[in] PresentHistoryToken
Structure D3DKMT_PRESENTHISTORYTOKEN qui identifie le type d’opération actuelle.
Pris en charge à partir de Windows 7.
pPresentRegions
Pointeur vers une structure de D3DKMT_PRESENT_RGNS qui identifie les régions sale et de déplacement.
Pris en charge à partir de Windows 8.
hAdapter
Handle de la carte graphique.
hIndirectContext
Contexte de l’adaptateur indirect pour la redirection via le chemin d’accès présent du DoD. Ce membre est valide uniquement si l’indicateur PresentIndirect est défini.
Duration
Durée par présent. Valide uniquement lorsque l’indicateur DurationValid est défini.
BroadcastSrcAllocation
Adaptateur d’affichage lié pour la source.
BroadcastDstAllocation
Adaptateur d’affichage lié pour la destination.
PrivateDriverDataSize
Taille des données du pilote privé.
pPrivateDriverData
Pointeur vers une mémoire tampon qui contient des données de pilote privé facultatives.
bOptimizeForComposition
Indique si l’appareil est optimisé pour la composition.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows Vista |
En-tête | d3dkmthk.h (inclure D3dkmthk.h) |
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour