Fonction MFCreateDXSurfaceBuffer (mfapi.h)

Crée un objet de mémoire tampon multimédia qui gère une surface Direct3D 9.

Syntaxe

HRESULT MFCreateDXSurfaceBuffer(
  [in]  REFIID         riid,
  [in]  IUnknown       *punkSurface,
  [in]  BOOL           fBottomUpWhenLinear,
  [out] IMFMediaBuffer **ppBuffer
);

Paramètres

[in] riid

Identifie le type de surface Direct3D 9. Actuellement, cette valeur doit être IID_IDirect3DSurface9.

[in] punkSurface

Pointeur vers l’interface IUnknown de la surface DirectX.

[in] fBottomUpWhenLinear

Si la valeur est TRUE, la méthode IMF2DBuffer ::ContiguousCopyTo de la mémoire tampon copie la mémoire tampon dans un format ascendant. Le format ascendant est compatible avec GDI pour les images RVB non compressées. Si ce paramètre a la valeur FALSE, la méthode ContiguousCopyTo copie la mémoire tampon dans un format descendant, qui est compatible avec DirectX.

Pour plus d’informations sur les images descendantes et ascendantes, consultez Image Stride.

[out] ppBuffer

Reçoit un pointeur vers l’interface IMFMediaBuffer . L’appelant doit libérer la mémoire tampon.

Valeur retournée

La fonction retourne un HRESULT. Les valeurs possibles sont notamment celles figurant dans le tableau suivant.

Code de retour Description
S_OK
S_OK
E_INVALIDARG
Argument non valide.

Notes

Cette fonction crée un objet de mémoire tampon multimédia qui contient un pointeur vers la surface Direct3D spécifiée dans punkSurface. Le verrouillage de la mémoire tampon permet à l’appelant d’accéder à la mémoire surface. Lorsque l’objet tampon est détruit, il libère la surface. Pour plus d’informations sur les mémoires tampons multimédias, consultez Mémoires tampons multimédias.

Note Cette fonction n’alloue pas la surface Direct3D elle-même.
 
L’objet tampon créé par cette fonction expose également l’interface IMF2DBuffer . Pour plus d’informations, consultez Mémoire tampon surface DirectX.

Cette fonction ne prend pas en charge les surfaces DXGI.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau uniquement]
Plateforme cible Windows
En-tête mfapi.h
Bibliothèque Evr.lib
DLL Evr.dll

Voir aussi

Mémoire tampon Surface DirectX

Mémoires tampons multimédias

Fonctions Media Foundation