调用dll无果的问题!!!!
//一个SDK封装接口
#define DLLDIR __declspec(dllimport)
typedef void ( CALLBACK *BMPCallback)(unsigned long callbackID, BITMAPINFO * info, unsigned char *data, unsigned long size);
extern "C"{
int DLLDIR SetBMPCallback(int hd, unsigned long callbackID, BMPCallback callback);
}
//打断点;这个函数无法调用!!!不知道是调用dll错误还是这个sdk里没有调用?
void CALLBACK mybmpCallback(unsigned long callbackID, BITMAPINFO * info, unsigned char *data, unsigned long size)
{
BITMAPFILEHEADER bfh = {0};
bfh.bfType=0x4D42;
bfh.bfOffBits = sizeof(BITMAPINFOHEADER) + sizeof(BITMAPFILEHEADER);
bfh.bfSize = bfh.bfOffBits + info->bmiHeader.biSizeImage; FILE *ofile = fopen("image.bmp", "wb");
fwrite(&bfh, sizeof(bfh), 1, ofile);
fwrite(&info->bmiHeader, sizeof(info->bmiHeader), 1, ofile); fwrite(data, 1, info->bmiHeader.biSizeImage, ofile);
fclose(ofile);
}
//调用DLL!!!!!!!!!!!!!!!!!!!!!!!
HMODULE hh = LoadLibrary(L".\\IPCam.dll");
typedef int (CALLBACK* PF_SetBMPCallback)(int hd, unsigned long callbackID, BMPCallback callback);
PF_SetBMPCallback CallSetBMPCallback = (PF_SetBMPCallback)GetProcAddress(hh, "SetBMPCallback");
CallSetBMPCallback(hd,1,mybmpCallback);