Partager via


IKsClockPropertySet ::KsGetState, méthode (ksproxy.h)

La méthode KsGetState récupère l’état de streaming d’une broche à partir de l’horloge sous-jacente.

Syntaxe

HRESULT KsGetState(
  [out] KSSTATE *State
);

Paramètres

[out] State

Pointeur vers une variable qui reçoit une valeur qui spécifie l’état de streaming d’une broche. Cette valeur peut être l’une des valeurs suivantes de l'KSSTATE type énuméré :

Valeur Description
KSSTATE_STOP Le streaming de données vers ou à partir de la broche est arrêté. Représente l’état initial de la broche avec le moins d’utilisation des ressources et la latence la plus élevée pour obtenir un état KSSTATE_RUN.
KSSTATE_ACQUIRE Représente l’état auquel les allocateurs sont négociés et les ressources acquises, bien qu’aucune donnée ne soit mise en mémoire tampon dans cet état.
KSSTATE_PAUSE L’horloge est en attente et est prête à passer instantanément à l’état KSSTATE_RUN. Représente le mode de la plupart de l’utilisation des ressources et de la latence minimale à un état d’exécution, sans réellement être dans un état KSSTATE_RUN. Les données peuvent être mises en mémoire tampon dans cet état. Si l’état de la broche est interrogé et que cet état est actuellement suspendu, l’épingle peut renvoyer une erreur de STATUS_NO_DATA_DETECTED pour indiquer que cette broche n’effectue pas la mise en file d’attente des données lorsqu’elle est en pause.
KSSTATE_RUN L’épingle est des données de diffusion en continu. Autrement dit, l’épingle consomme ou produit des données de flux.

Valeur de retour

Retourne NOERROR en cas de réussite ; sinon, retourne un code d’erreur.

Remarques

L’état de la broche donne un contrôle moteur brut pour les broches. Le contrôle moteur fin est effectué sur une base classe par classe avec des propriétés personnalisées. Par exemple, pour faire tourner un lecteur de disque laser externe, vous pouvez définir une propriété mode personnalisée spécifique à cette classe. La définition de cette propriété peut également changer l’état de l’appareil, mais pas nécessairement, en fonction de l’effet du mode.

Un filtre lui-même peut prendre en charge cette propriété d’état afin que les applications puissent définir l’état de l’ensemble du filtre. Sinon, chaque broche doit avoir son état défini. Lorsque l’état d’une broche passe de KSSTATE_STOP, chaque connexion qui transfère les irps doit recalculer la profondeur de la pile.

Le proxy utilise la propriété KSPROPERTY_CLOCK_STATE pour récupérer l’état de streaming d’une broche.

Exigences

Exigence Valeur
plateforme cible Bureau
d’en-tête ksproxy.h (include Ksproxy.h)