IGraphConfig::P ushThroughData, méthode (strmif.h)
[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 PushThroughData
méthode envoie des données via le graphique de filtre à l’épingle spécifiée.
Syntaxe
HRESULT PushThroughData(
[in] IPin *pOutputPin,
[in] IPinConnection *pConnection,
[in] HANDLE hEventAbort
);
Paramètres
[in] pOutputPin
Pointeur vers l’interface IPin d’une broche de sortie dans le graphique de filtre.
[in] pConnection
Pointeur vers l’interface IPinConnection d’une broche d’entrée dans le graphique de filtre. Ce paramètre peut être NULL.
[in] hEventAbort
Handle vers un événement. Si l’appelant est un filtre appelant sur l’un de ses threads de traitement des données, ce paramètre doit être un handle pour un événement qui sera signalé lorsque le filtre sera mis à l’état arrêté. Sinon, ce paramètre peut être NULL. Pour plus d'informations, consultez la section Notes.
Valeur renvoyée
Retourne S_OK en cas de réussite. Sinon, retourne un code d’erreur qui peut être l’une des valeurs suivantes, ou d’autres qui ne sont pas répertoriées.
Code de retour | Description |
---|---|
|
Échec de l’allocation de la mémoire nécessaire. |
|
Impossible de trouver une broche d’entrée candidate. |
|
État du filtre modifié pendant l’opération. |
Notes
Cette méthode envoie (push) toutes les données en attente, d’une broche de sortie spécifiée à une broche d’entrée spécifiée. Si vous le souhaitez, vous pouvez laisser la broche d’entrée non spécifiée et laisser la méthode rechercher le meilleur candidat dans le graphique de filtre. N’appelez pas cette méthode à partir du thread qui envoie des données.
Si un filtre appelle cette méthode sur l’un de ses propres threads de traitement des données, il crée un risque d’interblocage. La méthode obtient un verrou sur le graphique de filtre, ce qui peut empêcher le filtre de s’arrêter lors de la réception d’un appel à IMediaFilter::Stop. Pour éviter cette situation, la méthode prend un handle à un objet d’événement fourni par le filtre. Le filtre doit signaler l’événement s’il reçoit un appel à sa méthode Stop .
Configuration requise
Client minimal pris en charge | Windows XP [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | strmif.h (include Dshow.h) |
Bibliothèque | Strmiids.lib |