Compartilhar via


CBaseOutputPin Class

Windows Mobile SupportedWindows Embedded CE Supported

9/8/2008

Este é um abstrato derivado classe base a partir de CBasePin classe que oferece suporte para o comum transporte memória.

CBaseOutputPin conecta somente a uma entrada pino que fornece uma IMemInputPin interface (such as uma classe pino derivado a partir de CBaseInputPin classe) e fornece métodos para o filtro para acessar essa interface.

Derivado seus pinos saída esta classe para a implementação mais fácil.

Um pino saída deve fornecer um ou mais tipos de mídia quando conectado a uma entrada pino.

De exemplo, se o tipo de mídia que retorna um tamanho índice não estiver disponível, pino de saída deve retornar S_FALSE in a CBasePin::GetMediaType função membro e o classe base irá ignorá-lo.

Seus métodos classe pino saída (representados aqui com o nome classe CYourPin) devem chamar CBaseOutputPin.

Por exemplo CYourPin::Active deve chamar CBaseOutputPin::Active Primeiro, para ver se ela deve proceder.

CYourPin::Inactive deve chamar CBaseOutputPin::Inactive Primeiro, a decommit o alocador exemplo e evitar problemas com bloqueio CBaseOutputPin::GetDeliveryBuffer.

Todas as funções membro nessa classe que retornam HRESULT e aceitar um ponteiro como um parâmetro retornar E_POINTER quando passado um ponteiro nulo.

Todos os IQualityControl método implementações são herdadas das CBasePin classe e não são substituídas por esta classe.

Membros de dados protegido

Membro Descrição

m_pAllocator

Ponteiro para o IMemAllocator interface para este pino.

m_pInputPin

Ponteiro para a entrada pino à qual este pino está conectado.

Funções membro

Função membro Descrição

CBaseOutputPin

Constrói um CBaseOutputPin WScript.Shell.

Funções de associados overrideable

Função membro Descrição

Ativa

Alterna o pino para o modo ativo (execução).

BreakConnect

Libera o alocador e IMemInputPin interface.

CheckConnect

Chamadas Falha de QueryInterface Para recuperar uma IMemInputPin interface.

CompleteConnect

Conclui a conexão.

DecideAllocator

Negocia o alocador.

DecideBufferSize

Recupera o número e tamanho de buffers exigido para a transferir.

Entregar

Fornece um IMediaSample reserva para o pino de conexão.

DeliverBeginFlush

Chamadas de IPin::BeginFlush método sobre o pino conectado.

DeliverEndFlush

Chamadas IPin::EndFlush Sobre a entrada conectada pino para transmitir uma notificação end-flushing.

DeliverEndOfStream

Chamadas IPin::EndOfStream Sobre a entrada conectada pino para transmitir Fim - de - notificação transmitir.

DeliverNewSegment

Chamadas IPin::NewSegment Sobre a entrada conectada pino para transmitir um segmento.

GetDeliveryBuffer

Retorna um IMediaSample reserva adequada para transmissão através de conexão.

Inativo

Alterna o pino para o inativo (Interrompido) modo.

InitAllocator

Cria um alocador memória usar como padrão.

Para fornecer seu próprio alocador, ou para não fornecer nenhuma alocador, substituir isso.

Métodos IPin implementada

Método Descrição

BeginFlush

Informa o pino para começar um liberado operação.

Implementado para retornar E_UNEXPECTED porque ele é um erro ao chamar isso em um pino saída.

EndFlush

Informa o pino para finalizar um liberado operação.

Implementado para retornar E_UNEXPECTED porque ele é um erro ao chamar isso em um pino saída.

EndOfStream

Informa o pino que há dados adicionais são esperados até que um novo executar comando é emitido.

Implementado para retornar E_UNEXPECTED porque ele é um erro ao chamar isso em um pino saída.

Requisitos

Windows Embedded CE Windows CE 2.12 and later
Windows Mobile Windows Mobile Version 5.0 and later
Note Microsoft DirectShow applications and DirectShow filters have different include file and Library requirements
For more information, see Setting Up the Build Environment