MÉTHODE IMXF ::SetState (dmusicks.h)

La méthode SetState est utilisée pour définir l’état de l’interface de transformation MIDI.

Syntaxe

NTSTATUS SetState(
  KSSTATE State
);

Paramètres

State

Spécifie l’état sur lequel le graphique de filtre doit être défini. Ce paramètre est une valeur d’énumération KSSTATE. Pour plus d'informations, consultez la section Notes qui suit.

Valeur retournée

Cette méthode retourne NTSTATUS qui contient STATUS_SUCCESS si l’appel a réussi. Sinon, la méthode retourne un code d’erreur approprié.

Remarques

Pour un graphique de filtre audio, les quatre valeurs d’énumération KSSTATE sont interprétées comme suit :

Valeur State
KSSTATE_RUN Tout fonctionne normalement. Dans cet état, l’interface IMXF est active et transmet les messages comme d’habitude.
KSSTATE_ACQUIRE Il s’agit d’un état de transition qui permet de gérer la transition entre KSSTATE_RUN et KSSTATE_STOP. Dans cet état, les messages ne peuvent pas être passés en aval dans le graphique de filtre.
KSSTATE_PAUSE Il s’agit d’un état de transition qui permet de gérer la transition entre KSSTATE_RUN et KSSTATE_STOP.
KSSTATE_STOP Tout est arrêté dans le graphique de filtre actuel.

Le comportement du pilote miniport dépend de l’état du graphique de filtre. Ce comportement diffère pour le rendu (sortie) et la capture (entrée).

Du côté de la sortie, si l’état actuel est autre que KSSTATE_RUN, l’interface IMXF doit conserver les données et ne pas les transmettre au matériel. Si l’état actuel est KSTATE_STOP le pilote de miniport doit ignorer toutes les données qu’il lui donne en transmettant ces données à l’allocateur.

Du côté de l’entrée, si le flux d’entrée se trouve dans KSSTATE_RUN ou KSSTATE_PAUSE, il est légal pour le pilote miniport d’obtenir des messages à partir de l’allocateur et de les envoyer amont au récepteur de capture. Si l’état est KSSTATE_STOP ou KSSTATE_ACQUIRE et que le matériel tente de produire des données, ces données doivent être supprimées.

Configuration requise

Condition requise Valeur
En-tête dmusicks.h
IRQL PASSIVE_LEVEL

Voir aussi

IMXF