Hi all,

I am working on a camera to collect data. In the process one of the functions is throwing errors while copying the data from the buffer on board to local system buffer.

The message which I am getting is


Unhandled exception at 0x1026ef58 (msvcr90d.dll) in Camera.exe: 0xC0000005: Access violation reading location 0xd41dddcc.

Code:
__declspec(dllexport) int intf_daq_get_frame (void * intf_p, unsigned char * frame_data, unsigned long frame_size)
{	
	BFDev *bf_p;
	bf_p = (BFDev *) intf_p;
	if (bf_p == NULL)
	{
		return FAILURE;
	}	
	

	// Wait for frame to be acquired.
	bf_p->rv = BiCirWaitDoneFrame(bf_p->Board, &bf_p->BufArray, INFINITE,  &bf_p->CirHandle);
	
	// Process newly acquired frame 		
	memcpy(frame_data, (unsigned char *) (bf_p->CirHandle.pBufData), frame_size);

	// Mark the processed buffer available for acquisition
	bf_p->rv = BiCirStatusSet(bf_p->Board, &bf_p->BufArray,  bf_p->CirHandle,  BIAVAILABLE);
	if(bf_p->rv != BI_OK)
	{		
		BiErrorShow(bf_p->Board, bf_p->rv);

		return FAILURE;
	}


	return SUCCESS;
}
Can someone tell me what would have went wrong and any suggestions.

Thanks in advance.