该函数如下:
确实很头痛啊,网上找都是说什么少了个“{"或者是"}“,怎么看怎么没少,后来才知道,这个callback函数要放在main函数外面,海康你太坑人了,也不提醒下啊。纠结几天啊。
关于回调函数,请注意以下几点:
// Function: The dec call back funtion.
void CALLBACK DecCBFun(long nPort,char * pBuf,long nSize,
FRAME_INFO * pFrameInfo,
long nReserved1,long /*nReserved2*/)
{
// OutputDebugString("解码回调");
//
BOOL PlayM4_SetDecCallBack(LONG nPort,void (CALLBACK* DecCBFun)(long nPort,char * pBuf,long nSize,FRAME_INFO * pFrameInfo, long nReserved1,long nReserved2))
之前一直为怎么定义一个调用它烦恼,主要是不知道这个callback函数该怎么定义,后来在demon中看到了例子(如下),终于了解了。但是接下来问题又来了,编译总是提示
error C2601:local function definitions are illegal
确实很头痛啊,网上找都是说什么少了个“{"或者是"}“,怎么看怎么没少,后来才知道,这个callback函数要放在main函数外面,海康你太坑人了,也不提醒下啊。纠结几天啊。
关于回调函数,请注意以下几点:
1、回调函数必须有关键词 CALLBACK;
2、回调函数本身必须是全局函数或者静态函数,不可定义为某个特定的类的成员函数
2 回调函数并不由开发者直接调用执行(只是使用系统接口API函数作为起点)
3 回调函数通常作为参数传递给系统API,由该API来调用
4 回调函数可能被系统API调用一次,也可能被循环调用多次
// Function: The dec call back funtion.
void CALLBACK DecCBFun(long nPort,char * pBuf,long nSize,
FRAME_INFO * pFrameInfo,
long nReserved1,long /*nReserved2*/)
{
// OutputDebugString("解码回调");
//