Поделиться через


Метод 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

См. также

IMXF