CBaseOutputPin Class
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 |
---|---|
Constrói um CBaseOutputPin WScript.Shell. |
Funções de associados overrideable
Função membro | Descrição |
---|---|
Alterna o pino para o modo ativo (execução). |
|
Libera o alocador e IMemInputPin interface. |
|
Chamadas Falha de QueryInterface Para recuperar uma IMemInputPin interface. |
|
Conclui a conexão. |
|
Negocia o alocador. |
|
Recupera o número e tamanho de buffers exigido para a transferir. |
|
Fornece um IMediaSample reserva para o pino de conexão. |
|
Chamadas de IPin::BeginFlush método sobre o pino conectado. |
|
Chamadas IPin::EndFlush Sobre a entrada conectada pino para transmitir uma notificação end-flushing. |
|
Chamadas IPin::EndOfStream Sobre a entrada conectada pino para transmitir Fim - de - notificação transmitir. |
|
Chamadas IPin::NewSegment Sobre a entrada conectada pino para transmitir um segmento. |
|
Retorna um IMediaSample reserva adequada para transmissão através de conexão. |
|
Alterna o pino para o inativo (Interrompido) modo. |
|
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 |
---|---|
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. |
|
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. |
|
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 |