Méthode CBaseInputPin.ReceiveCanBlock
[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 ReceiveCanBlock
méthode détermine si les appels à la méthode IMemInputPin::Receive peuvent se bloquer. Cette méthode implémente la méthode IMemInputPin::ReceiveCanBlock .
Syntaxe
HRESULT ReceiveCanBlock();
Paramètres
Cette méthode n’a aucun paramètre.
Valeur retournée
Retourne une valeur HRESULT . Les valeurs possibles incluent celles répertoriées dans le tableau suivant.
Code de retour | Description |
---|---|
|
L’épingle ne se bloque pas lors d’un appel à Recevoir. |
|
L’épingle peut se bloquer lors d’un appel à Recevoir. |
Notes
Retournez S_FALSE si les appels à la méthode Receive ne se bloquent pas. Sinon, retournez S_OK ou un code d’erreur. Si la méthode Receive appelle Receive sur une broche en aval, la broche en aval peut bloquer ; ReceiveCanBlock
doit tenir compte de ce facteur.
Un filtre amont peut utiliser cette méthode pour déterminer sa stratégie de threading. Si la méthode Receive peut bloquer, le filtre amont peut décider d’utiliser un thread de travail qui met en mémoire tampon les données. Consultez la classe COutputQueue pour une implémentation de cette stratégie.
Dans la classe de base, cette méthode retourne S_OK lorsque l’une des conditions suivantes est vraie :
- Le filtre n’a pas de broches de sortie.
- Une broche d’entrée connectée à ce filtre signale qu’elle peut se bloquer.
- Une broche d’entrée connectée à ce filtre ne prend pas en charge l’interface IMemInputPin .
Configuration requise
Condition requise | Valeur |
---|---|
En-tête |
|
Bibliothèque |
|