Compartilhar via


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 dos objetos ACX.

Sintaxe

NTSTATUS AcxStreamBridgeRemoveStream(
  ACXSTREAMBRIDGE Bridge,
  ACXSTREAM       Stream
);

Parâmetros

Bridge

Um objeto ACXSTREAMBRIDGE é usado por um circuito para propagar a criação do 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 é usado apenas em um cenário de vários circuitos (composição de áudio).

Stream

Um identificador para o objeto ACXSTREAM a ser removido do ACXSTREAMBRIDGE.

Valor de retorno

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.

Observações

Essa DDI só pode ser chamada no 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 h/w) precisam para que os ACXSTREAMs de nível superior, ou seja, os fluxos de circuito mais próximos do pino da ponte de streaming, tomem medidas antes de ACXSTREAMs de nível inferior.

(c) os drivers precisam tomar medidas 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), é criado apenas para o primeiro ACXSTREAM adicionado ao ACXSTREAMBRIDGE. Qualquer ACXSTREAMs de entrada adicional apenas faz uma referência a este ACXTARGETSTREAM existente.

Para um tipo AcxStreamBridgeMux, o ACXTARGETSTREAM de saída é removido quando o ACXSTREAM de última entrada é removido 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 versões do ACX, consulte visão geral da versão do ACX.

Requisitos

Requisito Valor
cabeçalho acxstreams.h
IRQL PASSIVE_LEVEL

Consulte também