Partager via


IDCompositionSurfaceFactory ::CreateVirtualSurface, méthode (dcomp.h)

Crée une surface peu remplie qui peut être associée à un ou plusieurs visuels pour la composition.

Syntaxe

HRESULT CreateVirtualSurface(
  [in]  UINT                        initialWidth,
  [in]  UINT                        initialHeight,
  [in]  DXGI_FORMAT                 pixelFormat,
  [in]  DXGI_ALPHA_MODE             alphaMode,
  [out] IDCompositionVirtualSurface **virtualSurface
);

Paramètres

[in] initialWidth

Largeur de la surface, en pixels. La largeur maximale est de 16 777 216 pixels.

[in] initialHeight

Hauteur de la surface, en pixels. La hauteur maximale est de 16 777 216 pixels.

[in] pixelFormat

Format de pixel de la surface.

[in] alphaMode

Format du canal alpha, si un canal alpha est inclus dans le format de pixel. Il peut s’agir de l’une des DXGI_ALPHA_MODE_PREMULTIPLIED ou DXGI_ALPHA_MODE_IGNORE. Il peut également être DXGI_ALPHA_MODE_UNSPECIFIED, ce qui est interprété comme DXGI_ALPHA_MODE_IGNORE.

[out] virtualSurface

Objet surface virtuelle nouvellement créé. Ce paramètre ne doit pas être NULL.

Valeur retournée

Si la fonction réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT. Pour obtenir la liste des codes d’erreur, consultez Codes d’erreur DirectComposition .

Remarques

Un objet surface virtuelle nouvellement créé est dans un état non initialisé. Bien qu’elle soit non initialisée, la surface n’a aucun effet sur la composition de l’arborescence visuelle. Il se comporte exactement comme une surface initialisée avec 100 % de pixels transparents.

Pour initialiser la surface avec des données de pixels, utilisez la méthode IDCompositionSurface ::BeginDraw . Cette méthode fournit non seulement des pixels pour la surface, mais elle alloue également de l’espace de stockage réel pour ces pixels. L’allocation de mémoire persiste jusqu’à ce que l’application retourne une partie de la mémoire au système. L’application peut libérer une partie ou la totalité de la mémoire allouée en appelant la méthode IDCompositionVirtualSurface ::Trim ou IDCompositionVirtualSurface ::Resize .

Les surfaces Microsoft DirectComposition prennent en charge les formats de pixels suivants :

  • DXGI_FORMAT_B8G8R8A8_UNORM
  • DXGI_FORMAT_R8G8B8A8_UNORM
  • DXGI_FORMAT_R16G16B16A16_FLOAT

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 8.1 [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2012 R2 [applications de bureau uniquement]
Plateforme cible Windows
En-tête dcomp.h
Bibliothèque Dcomp.lib
DLL Dcomp.dll

Voir aussi

IDCompositionDevice2 ::CreateSurface

IDCompositionDevice2 ::CreateVirtualSurface

IDCompositionSurfaceFactory

IDCompositionSurfaceFactory ::CreateVirtualSurface