Freigeben über


IDCompositionDesktopDevice::CreateTargetForHwnd-Methode (dcomp.h)

Erstellt ein Kompositionszielobjekt, das an das Fenster gebunden ist, das durch das angegebene Fensterhandle dargestellt wird.

Syntax

HRESULT CreateTargetForHwnd(
  [in]  HWND                hwnd,
        BOOL                topmost,
  [out] IDCompositionTarget **target
);

Parameter

[in] hwnd

Das Fenster, an das das Kompositionszielobjekt gebunden werden soll. Dieser Parameter darf nicht NULL sein.

topmost

TRUE, wenn die visuelle Struktur über den untergeordneten Elementen des durch den hwnd-Parameter angegebenen Fensters angezeigt werden soll; Andernfalls wird die visuelle Struktur hinter den untergeordneten Elementen angezeigt.

[out] target

Das neue Kompositionszielobjekt. Dieser Parameter darf nicht NULL sein.

Rückgabewert

Wenn die Funktion erfolgreich ist, gibt sie S_OK zurück. Andernfalls wird ein Fehlercode HRESULT zurückgegeben. Eine Liste der Fehlercodes finden Sie unter DirectComposition-Fehlercodes .

Hinweise

Eine visuelle DirectComposition-Struktur muss an ein Fenster gebunden sein, bevor etwas auf dem Bildschirm angezeigt werden kann. Das Fenster kann ein Fenster auf oberster Ebene oder ein untergeordnetes Fenster sein. In beiden Fällen kann das Fenster ein mehrschichtiges Fenster sein, aber in allen Fällen muss das Fenster zum aufrufenden Prozess gehören. Wenn das Fenster zu einem anderen Prozess gehört, gibt diese Methode DCOMPOSITION_ERROR_ACCESS_DENIED zurück.

Wenn DirectComposition-Inhalte für das Fenster zusammengestellt werden, wird der Inhalt immer über dem zusammengesetzt, was direkt in dieses Fenster über den Gerätekontext gezeichnet wird, der von der GetDC-Funktion zurückgegeben wird, oder durch Aufrufe von DirectX Present-Methoden. Da Jedoch Fensterausschnittsregeln für DirectComposition-Inhalte gelten, können diese untergeordneten Fenster die visuelle Struktur abschneiden, wenn das Fenster über untergeordnete Fenster verfügt. Der oberste Parameter bestimmt, ob untergeordnete Fenster die visuelle Struktur ausschneiden.

Konzeptionell besteht jedes Fenster aus vier Ebenen:

  1. Der Inhalt, der direkt in das Fensterhandle gezeichnet wird (dies ist die unterste Ebene).
  2. Eine optionale visuelle DirectComposition-Struktur.
  3. Der Inhalt aller untergeordneten Fenster, falls vorhanden.
  4. Eine weitere optionale visuelle DirectComposition-Struktur (dies ist die oberste Ebene).
Alle vier Ebenen werden in den sichtbaren Bereich des Fensters gekappt.

Höchstens können für jedes Fenster im System nur zwei Kompositionsziele erstellt werden, eins ganz oben und eins nicht ganz oben. Wenn ein Kompositionsziel bereits an das angegebene Fenster auf der angegebenen Ebene gebunden ist, schlägt diese Methode fehl. Wenn ein Kompositionszielobjekt zerstört wird, steht die zusammengestellte Ebene für die Verwendung durch ein neues Kompositionszielobjekt zur Verfügung.

Anforderungen

Anforderung Wert
Zielplattform Windows
Kopfzeile dcomp.h

Weitere Informationen

IDCompositionDesktopDevice

IDCompositionVisual2