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