Метод IMXF::SetState (dmusicks.h)
Метод SetState используется для задания состояния интерфейса преобразования MIDI.
Синтаксис
NTSTATUS SetState(
KSSTATE State
);
Параметры
State
Указывает состояние, в котором должен быть задан граф фильтров. Этот параметр является значением перечисления KSSTATE. Дополнительные сведения см. в разделе "Примечания".
Возвращаемое значение
Этот метод возвращает NTSTATUS, содержащий STATUS_SUCCESS, если вызов был успешным. В противном случае метод возвращает соответствующий код ошибки.
Комментарии
Для графа фильтра звука четыре значения перечисления KSSTATE интерпретируются следующим образом:
Значение | Состояние |
---|---|
KSSTATE_RUN | Все работает и работает в обычном режиме. В этом состоянии интерфейс IMXF будет активным и передавать сообщения, как обычно. |
KSSTATE_ACQUIRE | Это переходное состояние, которое помогает управлять переходом между KSSTATE_RUN и KSSTATE_STOP. В этом состоянии сообщения не могут передаваться нижестоящими данными в графе фильтров. |
KSSTATE_PAUSE | Это переходное состояние, которое помогает управлять переходом между KSSTATE_RUN и KSSTATE_STOP. |
KSSTATE_STOP | Все останавливается в текущем графе фильтра. |
Поведение драйвера мини-порта зависит от состояния графа фильтра. Это поведение отличается для отрисовки (выходные данные) и записи (входные данные).
На выходе, если текущее состояние отличается от KSSTATE_RUN, интерфейс IMXF должен удерживать данные и не передавать их оборудованию. Если текущее состояние KSTATE_STOP драйвер мини-порта должен отменить все предоставленные данные, передав эти данные распределителю.
На стороне входных данных, если входной поток находится в KSSTATE_RUN или KSSTATE_PAUSE, драйвер мини-порта может получать сообщения от распределителя и отправлять их вышестоящий в приемник захвата. Если состояние KSSTATE_STOP или KSSTATE_ACQUIRE и оборудование пытается создать данные, эти данные следует выбросить.
Требования
Требование | Значение |
---|---|
Заголовок | dmusicks.h |
IRQL | PASSIVE_LEVEL |