IMXF ::SetState, méthode (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 Remarques suivante.
Valeur de retour
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 | État |
---|---|
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 transitionnel qui permet de gérer la transition entre KSSTATE_RUN et KSSTATE_STOP. Dans cet état, les messages ne peuvent pas être transmis en aval dans le graphique de filtre. |
KSSTATE_PAUSE | Il s’agit d’un état transitionnel 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).
Côté sortie, si l’état actuel est autre que KSSTATE_RUN, l’interface IMXF doit contenir les données et ne pas les transmettre au matériel. Si l’état actuel est KSTATE_STOP, le pilote miniport doit ignorer les données qu’il reçoit en transmettant ces données à l’allocateur.
Côté 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’allocator et de les envoyer en 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 levées.
Exigences
Exigence | Valeur |
---|---|
d’en-tête | dmusicks.h |
IRQL | PASSIVE_LEVEL |