Condividi tramite


Metodo IMiniportMidiStream::SetState (portcls.h)

Il metodo SetState imposta lo stato di trasporto del flusso su un nuovo valore di stato.

Sintassi

NTSTATUS SetState(
  [in] KSSTATE State
);

Parametri

[in] State

Specifica il nuovo stato su cui impostare il flusso. Questo parametro è un valore di enumerazione KSSTATE. Per altre informazioni, vedere la sezione Osservazioni seguente.

Valore restituito

SetState restituisce STATUS_SUCCESS se la chiamata ha avuto esito positivo. In caso contrario, il metodo restituisce un codice di errore appropriato.

Osservazioni

Per un grafico di filtro audio, i quattro valori di enumerazione KSSTATE vengono interpretati come segue:

  • KSSTATE_RUN

    Il trasporto dei dati nel grafico del filtro audio corrente è in esecuzione e funziona come di consueto.

  • KSSTATE_ACQUIRE

    Si tratta di uno stato transitorio che consente di gestire la transizione tra KSSTATE_RUN e KSSTATE_STOP.

  • KSSTATE_PAUSE

    Si tratta di uno stato transitorio che consente di gestire la transizione tra KSSTATE_RUN e KSSTATE_STOP.

  • KSSTATE_STOP

    Il trasporto dati viene arrestato nel grafico del filtro audio corrente.

Per la maggior parte dei driver miniport, KSSTATE_ACQUIRE e KSSTATE_PAUSE sono indistinguibili. Il metodo IMiniportMidi::NewStream imposta lo stato iniziale del flusso su KSSTATE_STOP.

Le transizioni si verificano sempre in una delle due sequenze seguenti:

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

Fabbisogno

Requisito Valore
piattaforma di destinazione Universale
intestazione portcls.h (include Portcls.h)
IRQL PASSIVE_LEVEL

Vedere anche

IMiniportMidi::NewStream

IMiniportMidiStream

KSPROPERTY_CONNECTION_STATE

KSSTATE