Compartilhar via


Método IMiniportMidiStream::SetState (portcls.h)

O SetState método define o estado de transporte do fluxo como um novo valor de estado.

Sintaxe

NTSTATUS SetState(
  [in] KSSTATE State
);

Parâmetros

[in] State

Especifica o novo estado para o qual o fluxo 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

SetState retornará STATUS_SUCCESS se a chamada tiver sido 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:

  • KSSTATE_RUN

    O transporte de dados no grafo de filtro de áudio atual está em execução e funcionando normalmente.

  • KSSTATE_ACQUIRE

    Esse é um estado de transição que ajuda a gerenciar a transição entre KSSTATE_RUN e KSSTATE_STOP.

  • KSSTATE_PAUSE

    Esse é um estado de transição que ajuda a gerenciar a transição entre KSSTATE_RUN e KSSTATE_STOP.

  • KSSTATE_STOP

    O transporte de dados é interrompido no grafo de filtro de áudio atual.

Para a maioria dos drivers de miniporta, KSSTATE_ACQUIRE e KSSTATE_PAUSE são indistinguíveis. O método IMiniportMidi::NewStream define o estado inicial do fluxo como KSSTATE_STOP.

As transições sempre ocorrem em uma das duas sequências a seguir:

  • STOP -> ACQUIRE -> PAUSE -> RUN
  • RUN -> PAUSE -> ACQUIRE -> STOP

Requisitos

Requisito Valor
Plataforma de Destino Universal
Cabeçalho portcls.h (inclua Portcls.h)
IRQL PASSIVE_LEVEL

Confira também

IMiniportMidi::NewStream

IMiniportMidiStream

KSPROPERTY_CONNECTION_STATE

KSSTATE