Método IMXF::SetState (dmusicks.h)

O método SetState é usado para definir o estado da interface de transformação MIDI.

Sintaxe

NTSTATUS SetState(
  KSSTATE State
);

Parâmetros

State

Especifica o estado para o qual o grafo de filtro deve ser definido. Esse parâmetro é um valor de enumeração KSSTATE. Para obter mais informações, consulte a seção Comentários a seguir.

Retornar valor

Esse método retorna NTSTATUS, que contém STATUS_SUCCESS se a chamada foi bem-sucedida. Caso contrário, o método retornará um código de erro apropriado.

Comentários

Para um grafo de filtro de áudio, os quatro valores de enumeração KSSTATE são interpretados da seguinte maneira:

Valor Estado
KSSTATE_RUN Tudo está em execução e funcionando normalmente. Nesse estado, a interface IMXF estará ativa e passará mensagens como de costume.
KSSTATE_ACQUIRE Esse é um estado de transição que ajuda a gerenciar a transição entre KSSTATE_RUN e KSSTATE_STOP. Nesse estado, as mensagens não podem ser passadas downstream no grafo de filtro.
KSSTATE_PAUSE Esse é um estado de transição que ajuda a gerenciar a transição entre KSSTATE_RUN e KSSTATE_STOP.
KSSTATE_STOP Tudo é interrompido no grafo de filtro atual.

O comportamento do driver de miniporta depende do estado do grafo de filtro. Esse comportamento difere para renderização (saída) e captura (entrada).

No lado da saída, se o estado atual for diferente de KSSTATE_RUN, a interface IMXF deverá manter os dados e não passá-los para o hardware. Se o estado atual for KSTATE_STOP, o driver de miniporta deverá descartar todos os dados que forem dados passando esses dados para o alocador.

No lado da entrada, se o fluxo de entrada estiver em KSSTATE_RUN ou KSSTATE_PAUSE, é legal que o driver de miniporte receba mensagens do alocador e envie-as upstream para o coletor de captura. Se o estado for KSSTATE_STOP ou KSSTATE_ACQUIRE e o hardware estiver tentando produzir dados, esses dados deverão ser descartados.

Requisitos

Requisito Valor
Cabeçalho dmusicks.h
IRQL PASSIVE_LEVEL

Confira também

IMXF