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 |