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


Метод IMiniportMidiStream::SetState (portcls.h)

Метод SetState задает состояние транспорта потока новым значением состояния.

Синтаксис

NTSTATUS SetState(
  [in] KSSTATE State
);

Параметры

[in] State

Указывает новое состояние, в котором должен быть задан поток. Этот параметр является значением перечисления KSSTATE. Дополнительные сведения см. в следующем разделе "Примечания".

Возвращаемое значение

SetState возвращает STATUS_SUCCESS, если вызов выполнен успешно. В противном случае метод возвращает соответствующий код ошибки.

Замечания

Для графа аудиофильтра четыре значения перечисления KSSTATE интерпретируются следующим образом:

  • KSSTATE_RUN

    Транспорт данных в текущем графе аудиофильтра работает и работает как обычный.

  • KSSTATE_ACQUIRE

    Это переходное состояние, которое помогает управлять переходом между KSSTATE_RUN и KSSTATE_STOP.

  • KSSTATE_PAUSE

    Это переходное состояние, которое помогает управлять переходом между KSSTATE_RUN и KSSTATE_STOP.

  • KSSTATE_STOP

    Транспорт данных останавливается в текущем графе аудиофильтра.

Для большинства минипорт-драйверов KSSTATE_ACQUIRE и KSSTATE_PAUSE неотличимы. Метод IMiniportMidi::NewStream задает начальное состояние потока для KSSTATE_STOP.

Переходы всегда происходят в одной из следующих двух последовательностей:

  • STOP -> ПРИОБРЕТЕНИЕ -> ПРИОСТАНОВКА -> ЗАПУСК
  • ЗАПУСК —> ПРИОСТАНОВКА — ПОЛУЧЕНИЕ> — ОСТАНОВКА>

Требования

Требование Ценность
целевая платформа Всеобщий
заголовка portcls.h (include Portcls.h)
IRQL PASSIVE_LEVEL

См. также

IMiniportMidi::NewStream

IMiniportMidiStream

KSPROPERTY_CONNECTION_STATE

KSSTATE