Méthode CBaseAllocator.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. 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 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 suivantes.
Code de retour | Description |
---|---|
|
Opération réussie. |
|
Argument pointeur NULL . |
|
Impossible de modifier la mémoire allouée pendant que le filtre est actif. |
|
Un alignement non valide a été spécifié. |
|
Une ou plusieurs mémoires tampons sont toujours actives. |
Notes
Cette méthode spécifie les exigences de mémoire tampon, mais n’alloue aucune mémoire tampon. Appelez la méthode CBaseAllocator::Commit pour allouer des mémoires tampons.
L’appelant alloue deux structures ALLOCATOR_PROPERTIES. Le paramètre pRequest contient les exigences de la 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 retourne, le paramètre pActual contient les propriétés de mémoire tampon réelles, telles que définies par l’allocateur. Dans la classe de base, en supposant que la méthode réussit, les propriétés réelles correspondent toujours aux propriétés demandées. Les classes dérivées peuvent remplacer ce comportement.
L’allocateur ne doit pas être commité et ne doit pas avoir de mémoires tampons en attente. Dans la classe de base, l’alignement doit être égal à 1. La classe CMemAllocator remplace cette exigence.
Configuration requise
Condition requise | Valeur |
---|---|
En-tête |
|
Bibliothèque |
|