Partager via


Méthode CMemAllocator.SetProperties

[La fonctionnalité associée à cette page, DirectShow, est une fonctionnalité héritée. Il a été remplacé par MediaPlayer, IMFMediaEngine et Audio/Video Capture in Media Foundation. Ces fonctionnalités ont été optimisées pour Windows 10 et Windows 11. Microsoft recommande vivement que le nouveau code utilise MediaPlayer, IMFMediaEngine et Audio/Video Capture dans Media Foundation au lieu de DirectShow, si possible. Microsoft suggère que le code existant qui utilise les API héritées soit réécrit pour utiliser les nouvelles API si possible.]

La SetProperties méthode spécifie le nombre de mémoires tampons à allouer et la taille de chaque mémoire tampon.

Syntaxe

HRESULT SetProperties(
   ALLOCATOR_PROPERTIES *pRequest,
   ALLOCATOR_PROPERTIES *pActual
);

Paramètres

pRequest

Pointeur vers une structure ALLOCATOR_PROPERTIES qui contient les exigences de mémoire tampon.

pActual

Pointeur vers une structure ALLOCATOR_PROPERTIES qui reçoit les propriétés de mémoire tampon réelles.

Valeur renvoyée

Retourne l’une des valeurs HRESULT indiquées dans le tableau suivant.

Code de retour Description
S_OK
Opération réussie.
E_POINTER
Argument pointeur NULL .
VFW_E_ALREADY_COMMITTED
Impossible de modifier la mémoire allouée pendant que le filtre est actif.
VFW_E_BADALIGN
Un alignement non valide a été spécifié.
VFW_E_BUFFERS_OUTSTANDING
Une ou plusieurs mémoires tampons sont toujours actives.

Notes

Cette méthode remplace la méthode CBaseAllocator::SetProperties .

L’alignement de la mémoire tampon, spécifié par le membre cbAlign de la structure ALLOCATOR_PROPERTIES , doit être une puissance égale de deux.

Configuration requise

Condition requise Valeur
En-tête
Amfilter.h (include Streams.h)
Bibliothèque
Strmbase.lib (builds de vente au détail) ;
Strmbasd.lib (builds de débogage)

Voir aussi

CMemAllocator, classe