Partager via


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

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

Syntaxe

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

Paramètres

[in] width

Largeur de la surface, en pixels.

[in] height

Hauteur de la surface, en pixels.

[in] pixelFormat

Format de pixels de la surface.

[in] alphaMode

Format du canal alpha, si un canal alpha est inclus dans le format de pixels. Il peut s’agir de l’un 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] surface

Objet surface nouvellement créé. Ce paramètre ne doit pas avoir la valeur 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 .

Notes

Une surface Microsoft DirectComposition est un tableau rectangulaire de pixels qui peut être associé à un visuel pour la composition.

Un objet surface 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 qui a 100 % de pixels transparents.

Pour initialiser la surface avec des données de pixels, utilisez la méthode IDCompositionSurface::BeginDraw . Le premier appel à cette méthode doit couvrir l’ensemble de la surface pour fournir une valeur initiale pour chaque pixel. Les appels suivants peuvent spécifier des sous-rectangles plus petits de la surface à mettre à jour.

Cette méthode échoue si la largeur ou la hauteur dépassent la taille maximale de texture. Si votre scénario nécessite des dimensions au-delà de la taille maximale de texture, utilisez la méthode CreateVirtualSurface .

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

  • DXGI_FORMAT_B8G8R8A8_UNORM
  • DXGI_FORMAT_R8G8B8A8_UNORM
  • DXGI_FORMAT_R16G16B16A16_FLOAT

Spécifications

   
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