IdCompositionDesktopDevice ::CreateTargetForHwnd, méthode (dcomp.h)
Crée un objet cible de composition lié à la fenêtre représentée par le handle de fenêtre spécifié.
Syntaxe
HRESULT CreateTargetForHwnd(
[in] HWND hwnd,
BOOL topmost,
[out] IDCompositionTarget **target
);
Paramètres
[in] hwnd
Fenêtre à laquelle l’objet cible de composition doit être lié. Ce paramètre ne doit pas être NULL.
topmost
TRUE si l’arborescence visuelle doit être affichée au-dessus des enfants de la fenêtre spécifiée par le paramètre hwnd ; sinon, l’arborescence visuelle est affichée derrière les enfants.
[out] target
Nouvel objet cible de composition. Ce paramètre ne doit pas être NULL.
Valeur retournée
Si la fonction réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT. Pour obtenir la liste des codes d’erreur, consultez Codes d’erreur DirectComposition .
Remarques
Une arborescence visuelle DirectComposition doit être liée à une fenêtre avant que tout ne puisse être affiché à l’écran. La fenêtre peut être une fenêtre de niveau supérieur ou une fenêtre enfant. Dans les deux cas, la fenêtre peut être une fenêtre en couches, mais dans tous les cas, la fenêtre doit appartenir au processus appelant. Si la fenêtre appartient à un autre processus, cette méthode retourne DCOMPOSITION_ERROR_ACCESS_DENIED.
Lorsque le contenu DirectComposition est composé dans la fenêtre, le contenu est toujours composé par-dessus tout ce qui est dessiné directement dans cette fenêtre via le contexte de l’appareil retourné par la fonction GetDC , ou par des appels aux méthodes DirectX Present. Toutefois, étant donné que les règles de découpage de fenêtre s’appliquent au contenu DirectComposition, si la fenêtre a des fenêtres enfants, ces fenêtres enfants peuvent couper l’arborescence visuelle. Le paramètre le plus haut détermine si les fenêtres enfants coupent l’arborescence visuelle.
D’un point de vue conceptuel, chaque fenêtre se compose de quatre couches :
- Contenu dessiné directement dans le handle de fenêtre (il s’agit de la couche la plus inférieure).
- Arborescence de visuels DirectComposition facultative.
- Le contenu de toutes les fenêtres enfants, le cas échéant.
- Une autre arborescence visuelle Facultative DirectComposition (il s’agit de la couche la plus haute).
Au maximum, seules deux cibles de composition peuvent être créées pour chaque fenêtre du système, l’une la plus haute et l’autre non la plus haute. Si une cible de composition est déjà liée à la fenêtre spécifiée au niveau de la couche spécifiée, cette méthode échoue. Lorsqu’un objet cible de composition est détruit, la couche qu’il a composée peut être utilisée par un nouvel objet cible de composition.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Windows |
En-tête | dcomp.h |