IDCompositionSurfaceFactory::CreateSurface-Methode (dcomp.h)
Erstellt ein 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
Die Breite der Oberfläche in Pixel.
[in] height
Die Höhe der Oberfläche in Pixel.
[in] pixelFormat
Das Pixelformat der Oberfläche.
[in] alphaMode
Das Format des Alphakanals, wenn ein Alphakanal im Pixelformat enthalten ist. Dies kann eine der DXGI_ALPHA_MODE_PREMULTIPLIED oder DXGI_ALPHA_MODE_IGNORE sein. Es kann auch DXGI_ALPHA_MODE_UNSPECIFIED werden, was als DXGI_ALPHA_MODE_IGNORE interpretiert wird.
[out] surface
Das neu erstellte Surface-Objekt. Dieser Parameter darf nicht NULL sein.
Rückgabewert
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 .
Hinweise
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.
Diese Methode schlägt fehl, wenn entweder die Breite oder Höhe die maximale Texturgröße überschreitet. Wenn Ihr Szenario Dimensionen erfordert, die über die maximale Texturgröße hinausgehen, verwenden Sie die CreateVirtualSurface-Methode .
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.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::CreateSurface