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

D3DDDIFORMAT

D3DKMTPresent

D3DKMT_PRESENTFLAGS

D3DKMT_PRESENTHISTORYTOKEN

D3DKMT_PRESENT_RGNS

RECT