Notes
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 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) |