IDCompositionSurfaceFactory::CreateVirtualSurface-Methode (dcomp.h)
Erstellt eine dünn aufgefüllte Oberfläche, die einem oder mehreren Visuals für die Komposition zugeordnet werden kann.
Syntax
HRESULT CreateVirtualSurface(
[in] UINT initialWidth,
[in] UINT initialHeight,
[in] DXGI_FORMAT pixelFormat,
[in] DXGI_ALPHA_MODE alphaMode,
[out] IDCompositionVirtualSurface **virtualSurface
);
Parameter
[in] initialWidth
Die Breite der Oberfläche in Pixel. Die maximale Breite beträgt 16.777.216 Pixel.
[in] initialHeight
Die Höhe der Oberfläche in Pixel. Die maximale Höhe beträgt 16.777.216 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] virtualSurface
Das neu erstellte virtuelle Oberflächenobjekt. 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
Ein neu erstelltes virtuelles 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, die mit 100 % transparenten Pixeln initialisiert wird.
Um die Oberfläche mit Pixeldaten zu initialisieren, verwenden Sie die IDCompositionSurface::BeginDraw-Methode . Diese Methode stellt nicht nur Pixel für die Oberfläche bereit, sondern belegt auch den tatsächlichen Speicherplatz für diese Pixel. Die Speicherbelegung wird beibehalten, bis die Anwendung einen Teil des Arbeitsspeichers an das System zurückgibt. Die Anwendung kann einen Teil oder den gesamten zugeordneten Arbeitsspeicher freigeben, indem die IDCompositionVirtualSurface::Trim - oder IDCompositionVirtualSurface::Resize-Methode aufgerufen wird .
Microsoft 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::CreateSurface