Função AcxStreamBridgeRemoveStream (acxstreams.h)
A função AcxStreamBridgeRemoveStream remove o ACXSTREAM especificado do objeto ACXSTREAMBRIDGE . Para obter mais informações sobre objetos ACX, consulte ACX – Resumo de objetos ACX.
Sintaxe
NTSTATUS AcxStreamBridgeRemoveStream(
ACXSTREAMBRIDGE Bridge,
ACXSTREAM Stream
);
Parâmetros
Bridge
Um objeto ACXSTREAMBRIDGE é usado por um circuito para propagar a criação de fluxo, os estados do fluxo fazem a transição e as configurações de DRM entre os segmentos de fluxo de circuito do ponto de extremidade. Esse objeto só é usado em um cenário de vários circuitos (composição de áudio).
Stream
Um identificador para o objeto ACXSTREAM a ser removido do ACXSTREAMBRIDGE.
Retornar valor
Retorna STATUS_SUCCESS
se a chamada foi bem-sucedida. Caso contrário, ele retornará um código de erro apropriado. Para obter mais informações, consulte Usando valores NTSTATUS.
Comentários
Essa DDI só pode ser chamada do contexto do manipulador de limpeza de fluxo do driver. O chamador invoca essa DDI para desassociar manualmente um ACXSTREAM de entrada do objeto ACXSTREAMBRIDGE especificado.
Os drivers chamam AcxStreamBridgeRemoveStream nestes cenários:
(a) os drivers desejam remover manualmente o ACXSTREAM do ACXSTREAMBRIDGE.
(b) os drivers (e seus requisitos de h/w) precisam para que os ACXSTREAMs de nível superior, ou seja, o circuito flua mais perto do pino da ponte de streaming, execute uma ação antes de ACXSTREAMs de nível inferior.
(c) os drivers precisam executar uma ação antes e depois que o ACXSTREAM de nível inferior desaparecer.
Para um tipo AcxStreamBridgeMux, apenas um ACXSTREAM de nível inferior é criado independentemente do número de ACXSTREAMs de entrada adicionados a essa ponte. Isso significa que o ACXSTREAM de saída (que para o circuito local do fluxo é representado com um ACXTARGETSTREAM), só é criado para o primeiro ACXSTREAM adicionado ao ACXSTREAMBRIDGE. Qualquer ACXSTREAMs de entrada adicional apenas faz uma referência a esse ACXTARGETSTREAM existente.
Para um tipo AcxStreamBridgeMux, a saída ACXTARGETSTREAM é removida quando a última entrada ACXSTREAM é removida do ACXSTREAMBRIDGE com AcxStreamBridgeRemoveStream.
Exemplo
O uso de exemplo é mostrado abaixo.
status = AcxStreamBridgeAddStream(bridge, stream);
// Get I/O target to send I/O to the target stream.
targetStream = AcxStreamBridgeGetTargetStream(bridge, stream);
// Target stream is closed if this was last input ACXSTREAM removed.
status = AcxStreamBridgeRemoveStream(bridge, stream);
Requisitos do ACX
Versão mínima do ACX: 1.0
Para obter mais informações sobre as versões do ACX, consulte Visão geral da versão do ACX.
Requisitos
Requisito | Valor |
---|---|
Cabeçalho | acxstreams.h |
IRQL | PASSIVE_LEVEL |