Partager via


Méthode CTransInPlaceInputPin.NotifyAllocator

[La fonctionnalité associée à cette page, DirectShow, est une fonctionnalité héritée. Il a été remplacé par MediaPlayer, IMFMediaEngine et Audio/Video Capture dans Media Foundation. Ces fonctionnalités ont été optimisées pour Windows 10 et Windows 11. Microsoft recommande vivement au nouveau code d’utiliser MediaPlayer, IMFMediaEngine et La capture audio/vidéo dans Media Foundation au lieu de DirectShow, lorsque cela est 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 NotifyAllocator méthode spécifie un allocateur pour la connexion. Cette méthode implémente la méthode IMemInputPin::NotifyAllocator .

Syntaxe

HRESULT NotifyAllocator(
   IMemAllocator *pAllocator,
   BOOL          bReadOnly
);

Paramètres

pAllocator

Pointeur vers l’interface IMemAllocator de l’allocator.

bReadOnly

Indicateur qui spécifie si les exemples de cet allocateur sont en lecture seule. Si la valeur est TRUE, les exemples sont en lecture seule.

Valeur renvoyée

Retourne une valeur HRESULT . Les valeurs possibles incluent celles indiquées dans le tableau suivant.

Code de retour Description
S_OK
Succès
E_FAIL
Échec
E_POINTER
Argument pointeur NULL

Notes

Le filtre tente d’utiliser le même allocateur pour les deux connexions de broche.

  • Si la broche de sortie n’est pas connectée, la broche d’entrée accepte automatiquement l’allocateur. Lorsque la broche de sortie est connectée, le filtre reconnecte la broche d’entrée. À ce stade, le filtre essaie à nouveau d’utiliser un seul allocateur.
  • Si la broche de sortie est connectée, la broche d’entrée accepte l’allocateur. La broche de sortie utilise également le même allocator. Il appelle NotifyAllocator la broche d’entrée en aval.

Le cas précédent présente l’exception suivante :

  • Si l’allocateur proposé est en lecture seule (c’est-à-dire que le paramètre bReadOnly a la valeur TRUE) et que le filtre doit modifier les exemples, le filtre doit utiliser deux allocateurs différents. Dans ce cas, si le filtre amont propose d’utiliser l’allocateur du filtre en aval, la méthode retourne E_FAIL.

Configuration requise

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

Voir aussi

CTransInPlaceInputPin, classe