Compartilhar via


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

O SetState método define o novo estado de reprodução ou gravação para o fluxo.

Sintaxe

NTSTATUS SetState(
  [in] KSSTATE State
);

Parâmetros

[in] State

Especifica o novo estado do fluxo. 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 retorna 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 miniporto, KSSTATE_ACQUIRE e KSSTATE_PAUSE são indistinguíveis.

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

  • STOP -> ACQUIRE -> PAUSE -> RUN
  • RUN -> PAUSE -> ACQUIRE -> STOP
O método IMiniportWaveCyclic::NewStream define o estado inicial do fluxo como KSSTATE_STOP.

Requisitos

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

Confira também

IMiniportWaveCyclic::NewStream

IMiniportWaveCyclicStream

KSPROPERTY_CONNECTION_STATE

KSSTATE