Méthode CBaseOutputPin.DecideAllocator
[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 DecideAllocator
méthode sélectionne un allocateur de mémoire.
Syntaxe
virtual HRESULT DecideAllocator(
IMemInputPin *pPin,
IMemAllocator **pAlloc
);
Paramètres
-
pPin
-
Pointeur vers l’interface IMemInputPin de la broche d’entrée.
-
pAlloc
-
Adresse d’une variable qui reçoit un pointeur vers l’interface IMemAllocator de l’allocateur.
Valeur renvoyée
Retourne S_OK en cas de réussite, ou une valeur HRESULT indiquant la cause de l’erreur.
Notes
Cette méthode est appelée à la fin du processus de connexion d’épingle. Il permet d'effectuer les opérations suivantes :
- Appelle la méthode IMemInputPin::GetAllocatorRequirements pour récupérer les exigences de mémoire tampon de la broche d’entrée, le cas échéant.
- Appelle la méthode IMemInputPin::GetAllocator pour demander un allocateur à partir de la broche d’entrée. Si la broche d’entrée ne fournit pas d’allocateur, la broche de sortie en crée un en appelant la méthode de classe CBaseOutputPin::InitAllocator .
- Appelle la méthode de classe CBaseOutputPin::D ecideBufferSize , qui définit les propriétés de l’allocateur. Il s’agit d’une méthode virtuelle pure; la classe dérivée doit l’implémenter.
- Appelle la méthode IMemInputPin::NotifyAllocator , qui notifie la broche d’entrée de l’allocateur utilisé.
Configuration requise
Condition requise | Valeur |
---|---|
En-tête |
|
Bibliothèque |
|