IDCompositionDevice::CreateSurface-Methode (dcomp.h)

Erstellt ein aktualisierbares Surface-Objekt, 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.

[in] height

Typ: UINT

Die Höhe der Oberfläche in Pixel.

[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 ist nicht angegeben. Dieser Wert hat die gleiche Auswirkung 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 werden, und die Bitmap sollte undurchsichtig gerendert werden.

[out] surface

Typ: IDCompositionSurface**

Das neu erstellte Surface-Objekt. Dieser Parameter darf nicht NULL sein.

Rückgabewert

Typ: HRESULT

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

Bemerkungen

Eine Microsoft DirectComposition-Oberfläche ist ein rechteckiges Array von Pixeln, die einem Visual für die Komposition zugeordnet werden können.

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 IDCompositionSurface::BeginDraw-Methode . 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

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

Weitere Informationen

IDCompositionDevice

IDCompositionDevice::CreateVirtualSurface