Freigeben über


IDCompositionDevice2::CreateSurface-Methode (dcomp.h)

Erstellt ein aktualisierbares Oberflächenobjekt, das einem oder mehreren Visuals für die Komposition zugeordnet werden kann.

Syntax

HRESULT CreateSurface(
  [in]  UINT                 width,
  [in]  UINT                 height,
  [in]  DXGI_FORMAT          pixelFormat,
  [in]  DXGI_ALPHA_MODE      alphaMode,
  [out] IDCompositionSurface **surface
);

Parameter

[in] width

Typ: UINT

Die Breite der Oberfläche in Pixel. Eingeschränkt durch die Featureebene des Renderinggeräts, das zum Zeitpunkt der Erstellung des DirectComposition-Geräts übergeben wurde.

[in] height

Typ: UINT

Die Höhe der Oberfläche in Pixel. Eingeschränkt durch die Featureebene des Renderinggeräts, das zum Zeitpunkt der Erstellung des DirectComposition-Geräts übergeben wurde.

[in] pixelFormat

Typ: DXGI_FORMAT

Das Pixelformat der Oberfläche.

[in] alphaMode

Typ: DXGI_ALPHA_MODE

Das Format des Alphakanals, wenn ein Alphakanal im Pixelformat enthalten ist. Es kann sich um einen der folgenden Werte handeln:

Wert Bedeutung
DXGI_ALPHA_MODE_UNSPECIFIED
Der Alphakanal wird nicht angegeben. Dieser Wert hat den gleichen Effekt wie DXGI_ALPHA_MODE_IGNORE.
DXGI_ALPHA_MODE_PREMULTIPLIED
Die Farbkanäle enthalten Werte, die mit dem Alphakanal vormultipliziert sind.
DXGI_ALPHA_MODE_IGNORE
Der Alphakanal sollte ignoriert und die Bitmap undurchsichtig gerendert werden.

[out] surface

Typ: IDCompositionSurface**

Das neu erstellte Oberflächenobjekt. Dieser Parameter darf nicht NULL sein.

Rückgabewert

Typ: HRESULT

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 Microsoft DirectComposition-Oberfläche ist ein rechteckiges Array von Pixeln, das einem Visual für die Komposition zugeordnet werden kann.

Ein neu erstelltes Oberflächenobjekt befindet sich in einem nicht initialisierten Zustand. Obwohl sie nicht initialisiert ist, hat die Oberfläche keine Auswirkungen auf die Zusammensetzung der visuellen Struktur. Es verhält sich genau wie eine Oberfläche mit 100 % transparenten Pixeln.

Um die Oberfläche mit Pixeldaten zu initialisieren, verwenden Sie die Methoden IDCompositionSurface::BeginDraw und IDCompositionSurface::EndDraw . Der erste Aufruf dieser Methode muss die gesamte Oberfläche abdecken, um einen Anfangswert für jedes Pixel bereitzustellen. Nachfolgende Aufrufe können kleinere Unterrechtecke der zu aktualisierenden Oberfläche angeben.

DirectComposition-Oberflächen unterstützen die folgenden Pixelformate:

  • DXGI_FORMAT_B8G8R8A8_UNORM
  • DXGI_FORMAT_R8G8B8A8_UNORM
  • DXGI_FORMAT_R16G16B16A16_FLOAT

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 8.1 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2012 R2 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile dcomp.h
Bibliothek Dcomp.lib
DLL Dcomp.dll

Weitere Informationen

IDCompositionDevice2

IDCompositionDevice2::CreateVirtualSurface