Re: CoCreateInstance() returns E_OUTOFMEMORY
- From: "Brian Muth" <bmuth@xxxxxxxx>
- Date: Thu, 31 Jan 2008 20:33:52 -0800
"Bala L" <balasubramanian.l@xxxxxxxxx> wrote in message news:876b2d02-75f1-436f-8457-862411eb5877@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
I am trying to use a program developed by someone else to interface
with a camera using the SDK. This program runs fine on a particular
laptop, but not on any other machines.
The code tries to initialize the camera object through a function
exposed through a .dll file.
m_pVidControl = new CCameraCtl();
m_pVidControl->Initialize(640,480); // Unhandled exception causes
crash
The program crashes on the second line, and by stepping in to the code
in the .dll, I found the error in the CoCreateInstance() function
call.
int CCameraCtl::Initialize(int width, int height)
{
//init camera capture com
HRESULT hresult;
hresult = CoCreateInstance(CLSID_CDirectShowGrabber, NULL,
CLSCTX_INPROC_SERVER, IID_IFilter, (void **)&(m_pGrabber)); //
Returns out of memory error
// Rest of function
}
The m_pGrabber has a valid address when it enters the Initialize()
function, but is again being reset to NULL after this line.
It doesn't matter what the value is that m_pGrabber holds. CoCreateInstance() is supposed to overwrite that value anyway with a valid interface pointer if CoCreateInstance() succeeeds.
Did you remember to call CoInitialize()?
Brian
.
- Follow-Ups:
- Re: CoCreateInstance() returns E_OUTOFMEMORY
- From: Bala L
- Re: CoCreateInstance() returns E_OUTOFMEMORY
- References:
- CoCreateInstance() returns E_OUTOFMEMORY
- From: Bala L
- CoCreateInstance() returns E_OUTOFMEMORY
- Prev by Date: Re: Making a CListBox have horizontal ScrollBars???
- Next by Date: Re: Reading Serial Port
- Previous by thread: CoCreateInstance() returns E_OUTOFMEMORY
- Next by thread: Re: CoCreateInstance() returns E_OUTOFMEMORY
- Index(es):
Relevant Pages
|