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
Type de données D3DKMT_HANDLE qui représente un handle en mode noyau à présenter à l’appareil. Un handle d’appareil est fourni à la fonction D3DKMTPresent dans l’union qui D3DKMT_PRESENT contient pour la compatibilité avec Microsoft Direct3D version 10.
[in] hContext
Type de données D3DKMT_HANDLE qui représente un handle en mode noyau vers 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
[in] VidPnSourceId
Numéro d’identification de base zéro de la vidéo présente la source dans un chemin d’accès d’une topologie de réseau présent vidéo (VidPN) sur laquelle restreindre l’affichage, si l’indicateur RestrictVidPnSource bit-field est défini dans le membre Indicateurs.
Si l’indicateur de champ binaire RestrictVidPnSource est défini et que le membre hWindow est NULL, le membre VidPnSourceId indique quelle sortie le bitblt plein écran est dirigé vers If RestrictVidPnSource est défini et hWindow n’est pasNULL, VidPnSourceId indique à quelle sortie restreindre le transfert de bloc de bits fenêtré.
[in] hSource
Type de données D3DKMT_HANDLE qui représente un handle en mode noyau à partir de la mémoire système ou de l’allocation principale à partir duquel le ColorFill indicateur de champ binaire n’est pas défini dans le membre indicateurs.
[in] hDestination
Type de données D3DKMT_HANDLE qui représente un handle en mode noyau à l’allocation de destination. hDestination peut être égal à zéro si la destination est inconnue.
Le handle dans
Si le handle du membre
[in] Color
Valeur de remplissage de couleur ou clé de couleur ARGB 32 bits (voir l’énumération D3DDDIFORMAT). Une valeur de remplissage de couleur est définie lorsque l’indicateur ColorFill bit-field est défini dans le membre Indicateurs. Une valeur pour la clé de couleur est définie lorsque l’indicateur SrcColorKey ou DstColorKey indicateur de champ binaire est défini dans le membre Indicateurs. Notez qu’un seul desColorFill
Si le format principal est RVB palettisé, Color contient l’index de palette plutôt que la valeur D3DDDIFMT_A8R8G8B8 de D3DDDIFORMAT.
[in] DstRect
La destination facultative RECT pour le bitblt. Le RECT de destination est utilisé uniquement si l’indicateur DstRectValid bit-field est défini dans le membre Flags.
[in] SrcRect
RECT source facultative pour le bitblt. La source RECT est utilisée uniquement si l’indicateur de champ de bits SrcRectValid est défini dans le membre Flags.
[in] SubRectCnt
Nombre de régions subrectangulaires qui pSrcSubRects pointe vers celles spécifiées lors de la présentation.
[in] pSrcSubRects
Pointeur vers un tableau de régions sous-angulaires (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 D3DDDI_FLIPINTERVAL_TYPE-typée qui indique l’intervalle de retour (autrement dit, si le retour se produit après zéro, un, deux, trois ou quatre synchronisations verticales).
[in] Flags
Structure D3DKMT_PRESENTFLAGS qui identifie, dans les indicateurs de champ binaire, comment afficher. Notez que lesColorFill
[in] BroadcastContextCount
Nombre de contextes supplémentaires dans le tableau qui BroadcastContext spécifie.
[in] BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT]
Tableau de types de données D3DKMT_HANDLE qui représentent des handles en mode noyau 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 vers 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é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 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 à ce contexte supplémentaire.
[in] PresentLimitSemaphore
Poignée du sémaphore de limite actuelle.
Prise en charge à partir de Windows 7.
[in] PresentHistoryToken
Structure D3DKMT_PRESENTHISTORYTOKEN qui identifie le type d’opération actuelle.
Prise en charge à partir de Windows 7.
pPresentRegions
Pointeur vers une structure D3DKMT_PRESENT_RGNS qui identifie les régions sales et déplacées.
Prise en charge à partir de Windows 8.
hAdapter
Handle de l’adaptateur graphique.
hIndirectContext
Contexte de l’adaptateur indirect pour la redirection via le chemin d’accès actuel DoD. Ce membre est valide uniquement si l’indicateur PresentIndirect est défini.
Duration
Durée par heure actuelle. 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.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows Vista |
d’en-tête | d3dkmthk.h (include D3dkmthk.h) |