CBaseAllocator. SetProperties, méthode

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

Syntaxe

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

Paramètres

pRequest

Pointeur vers une structure de _ Propriétés Allocator qui contient les exigences de mémoire tampon.

pActual

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

Valeur de retour

Retourne l’une des valeurs HRESULT suivantes.

Code de retour Description
_OK
Réussite.
_pointeur E
Argument de pointeur null .
VFW _ E _ déjà _ validé
Impossible de modifier la mémoire allouée lorsque le filtre est actif.
VFW _ E _ BADALIGN
Un alignement non valide a été spécifié.
_ _ mémoires tampons VFW E en _ suspens
Une ou plusieurs mémoires tampons sont toujours actives.

Notes

Cette méthode spécifie les spécifications de mémoire tampon, mais n’alloue pas de mémoire tampon. Appelez la méthode CBaseAllocator :: Commit pour allouer des tampons.

L’appelant alloue deux structures de propriétés d’allocateur _ . Le paramètre pRequest contient les exigences de mémoire tampon de l’appelant, y compris le nombre de mémoires tampons et la taille de chaque mémoire tampon. Lorsque la méthode est retournée, le paramètre pActual contient les propriétés de mémoire tampon réelles, telles qu’elles sont définies par l’allocateur. Dans la classe de base, en supposant que la méthode aboutisse, les propriétés réelles correspondent toujours aux propriétés demandées. Les classes dérivées peuvent substituer ce comportement.

L’allocateur ne doit pas être validé et ne doit pas avoir de tampons en suspens. Dans la classe de base, l’alignement doit être égal à 1. La classe CMemAllocator remplace cette exigence.

Spécifications

Condition requise Valeur
En-tête
Amfilter. h (inclure Flux. h)
Bibliothèque
Strmbase. lib (versions commerciales);
Strmbasd. lib (versions Debug)

Voir aussi

CBaseAllocator, classe