IPinFlowControl ::Block, 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 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 Block méthode bloque ou débloque le flux de données à partir de la broche.

Syntaxe

HRESULT Block(
  [in] DWORD  dwBlockFlags,
  [in] HANDLE hEvent
);

Paramètres

[in] dwBlockFlags

Indicateur qui indique s’il faut bloquer ou débloquer la broche. Il doit s’agir de l’une des valeurs suivantes :

  • Zéro : débloquer le flux de données de la broche.
  • AM_PIN_FLOW_CONTROL_BLOCK : Bloquer le flux de données à partir de la broche.

[in] hEvent

Gérez un objet d’événement ou NULL. Si ce paramètre n’est pas NULL, la méthode est asynchrone et retourne immédiatement. L’événement est signalé lorsque l’opération se termine. Si ce paramètre a la valeur NULL, la méthode est synchrone et ne se termine pas tant que la broche n’est pas bloquée. Si dwBlockFlags est égal à zéro, ce paramètre doit avoir la valeur NULL.

Valeur retournée

Retourne une valeur HRESULT . Les valeurs possibles sont les suivantes.

Code de retour Description
S_FALSE
L’épingle est déjà débloquée.
S_OK
Réussite.
VFW_E_PIN_ALREADY_BLOCKED
Le code pin est déjà bloqué sur un autre thread.
VFW_E_PIN_ALREADY_BLOCKED_ON_THIS_THREAD
Le code pin est déjà bloqué sur le thread appelant.

Remarques

Cette méthode peut être synchrone ou asynchrone :

  • Pour l’appeler de manière asynchrone, utilisez la fonction CreateEvent pour créer un objet d’événement. Passez le handle d’événement dans le paramètre hEvent . La méthode retourne immédiatement et signale l’événement lorsque l’opération est terminée. Appelez une fonction d’attente telle que WaitForSingleObject pour attendre l’événement.
  • Pour appeler cette méthode de manière synchrone, définissez le paramètre hEvent sur NULL. La méthode est bloquée jusqu’à ce qu’elle se termine. La méthode peut ne pas se terminer tant que la broche n’est pas prête à fournir un exemple. Si le filtre est suspendu, la méthode peut se bloquer indéfiniment. Par conséquent, vous ne devez pas appeler cette méthode de manière synchrone à partir de votre thread d’application main.

Configuration requise

Condition requise Valeur
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

Voir aussi

Reconnexion dynamique

Codes d’erreur et de réussite

IPinFlowControl Interface