Base Classes
Most of the base classes in the DirectShow class library implement DirectShow COM interfaces. These classes produce C++ objects that provide an IUnknown interface so external components can access the interfaces that the objects support.
The following topics discuss DirectShow base classes:
CBaseObject and CUnknown Classes
Base Classes that Implement Interfaces
Base Class Constructors
Many of the constructors in the DirectShow base classes take a pointer to an HRESULT value. If the constructor fails, it sets the value to an error code. Before calling the constructor, set the HRESULT value to S_OK. When the constructor returns, check the value. A failure code means the constructor failed, possibly leaving the object in an invalid state.
The following code shows how to check the HRESULT from a constructor.
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;
}
Last updated on Wednesday, April 13, 2005
© 2005 Microsoft Corporation. All rights reserved.