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 |