Partager via


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 hWindow peut être NULL, sauf si l’indicateur ColorFill bit-field est spécifié dans le membre Indicateurs.

[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 hDestination n’est valide que si l’indicateur champ de bits est défini dans le membre indicateurs .

Si le handle du membre hDestination n’est pas égal à zéro, le hDestination et les handles hWindow doivent faire référence à deux allocations principales différentes de la même taille, l’appareil du membre hDevice doit posséder la source de la vidéo qui est identifiée par le membre VidPnSourceId , et l’indicateur de champ binaire SrcRectValid doit être défini dans les indicateurs 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 , SrcColorKeyet indicateurs de champ binaire 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

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 SrcColorKeyet indicateurs de champ binaire DstColorKey sont mutuellement exclusifs.

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

Voir aussi

D3DDDIFORMAT

D3DKMTPresent

D3DKMT_PRESENTFLAGS

D3DKMT_PRESENTHISTORYTOKEN

D3DKMT_PRESENT_RGNS

RECT