Base Classes
9/8/2008
Na maioria das classes de de base na implementar o DirectShow biblioteca de classes que DirectShow COM interfaces. Esses objetos C++ gerar classes que fornecem um IUnknown interface Forma externo componentes pode acessar as interfaces que suporte a objetos.
O seguinte discutir tópicos DirectShow de base classes:
CBaseObject e CUnknown classes
Classes base que implementar interfaces
Construtores de classe base
Vários construtores nas classes de base o DirectShow levar um ponteiro para um HRESULT valor.
Se o construtor falhar, ele definirá o valor para um código de erro.
Antes chamado de construtor, definir o HRESULT valor para S_OK.
Quando o construtor retorna, verificar o valor.
Codificar um falha significa o construtor falha, possivelmente deixando o objeto em um inválido estado.
O seguinte mostra codificar como para verificar a HRESULT De um construtor.
HRESULT hr = S_OK; // Set the HRESULT to S_OK first.
CMemAllocator pAlloc = new CMemAllocator(NAME("MyAllocator"), 0, &hr);
if (pAlloc == NULL)
{
return E_OUTOFMEMORY;
}
else if (FAILED(hr))
{
return E_FAIL;
}