Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
[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 StartUsingOutputPin méthode obtient l’accès à l’épingle pour une opération de diffusion en continu.
Syntaxe
virtual HRESULT StartUsingOutputPin();
Paramètres
Cette méthode n’a aucun paramètre.
Valeur retournée
Retourne une valeur HRESULT . Les valeurs possibles incluent celles indiquées dans le tableau suivant.
| Code de retour | Description |
|---|---|
|
Opération réussie. |
|
Erreur inattendue. |
|
Le filtre a été arrêté ou le vidage de la broche a commencé. |
Notes
Appelez cette méthode avant d’appeler les méthodes qui fournissent des données à la broche d’entrée connectée ou qui modifient le type de média de la connexion. Par exemple, cette règle s’applique aux méthodes suivantes :
- CDynamicOutputPin::ChangeOutputFormat
- CDynamicOutputPin::ChangeMediaType
- CDynamicOutputPin::D ynamicReconnect
- CBaseOutputPin::D eliver
- CBaseOutputPin::D eliverEndOfStream
- CBaseOutputPin::D eliverNewSegment
- IMemInputPin::Receive
- IMemInputPin::ReceiveMultiple
- IPin::EndOfStream
- IPin::NewSegment
Ensuite, appelez la méthode CDynamicOutputPin::StopUsingOutputPin pour libérer l’accès à l’épingle.
Si l’épingle est bloquée, StartUsingOutputPin attend que l’épingle soit débloquée. Si le filtre s’arrête pendant que la méthode est en attente, la méthode retourne immédiatement VFW_E_STATE_CHANGED. L’épingle conserve le nombre de fois StartUsingOutputPin que l’appel a été effectué sans appel correspondant à StopUsingOutputPin. Si un autre thread tente de bloquer la broche alors que ce nombre n’est pas égal à zéro, la broche définit son status de blocage sur « en attente ». L’épingle est bloquée une fois que toutes les opérations de diffusion en continu sont terminées, lors de l’appel final à StopUsingOutputPin.
Ne tenez pas la section critique CDynamicOutputPin::m_BlockStateLock lorsque vous appelez cette méthode. Sinon, si l’épingle est bloquée, elle ne peut jamais être débloquée, ce qui provoque un blocage.
Configuration requise
| Condition requise | Valeur |
|---|---|
| En-tête |
|
| Bibliothèque |
|