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


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