Partager via


Méthode IKsClockPropertySet ::KsGetState (ksproxy.h)

La méthode KsGetState récupère l’état de diffusion en continu 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 diffusion en continu d’une broche. Cette valeur peut être l’une des valeurs suivantes du type énuméré KSSTATE :

Valeur Description
KSSTATE_STOP La diffusion en continu des données vers ou depuis le code pin est arrêtée. 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 puisse être 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 la latence minimale à un état d’exécution, sans être réellement 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, le code pin 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 Le code pin est le streaming des données. Autrement dit, la broche consomme ou produit des données de flux.

Valeur retournée

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 instance, 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 modifier 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 du filtre entier. 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 IRP 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.

Configuration requise

Condition requise Valeur
Plateforme cible Desktop (Expérience utilisateur)
En-tête ksproxy.h (inclure Ksproxy.h)