SearchCallBack 回调函数
函数格式   typedef  void  (WINAPI  *SearchCallBack)(DEV_HANDLE  devHandle,  void*pData)
功能  初始化模块提供的回调函数,用于搜索到设备时通知用户。
参数 devHandle:设备句柄,由模块传递给用户。
     pData:用户注册时提供的参数,模块内部不做任何处理,只做传递。返回值 参见 RET_TYPE 说明。其他说明 初始化时由用户向模块注册。typedef enum tagErrorCode
{
 
DM_ERR_OK, 
DM_ERR_PARA,   
DM_ERR_NOAUTH,   
DM_ERR_AUTHFAIL,  
DM_ERR_SOCKET, 
DM_ERR_MEM,   
DM_ERR_TIMEOUT,   
DM_ERR_ARG,   
DM_ERR_MATCH, 
DM_ERR_MAX
}RET_TYPE;  

解决方案 »

  1.   

    typedef  void  (WINAPI  *SearchCallBack)(DEV_HANDLE  devHandle,  void*pData) 
    这是声明了一个函数指针delphi:
    type
     TSearchCallBack = procedure ( DEV_HANDLE:THandle,  pData:Pointer );stdcall;pData如果是一个结构,就要对应地定义一个数据记录结构来对应;如果是从动态库进行调用,则直接用如下方法;
    var 
    Handle: THandle; 
    SearchCallBack : TSearchCallBack ;
    deviceHandle:THandle;
    pData:Pointer; 
    ...
    begin 
    try 
    Handle := LoadLibrary('YourDllName.DLL'); 
    if Handle <> 0 then 
    begin 
    @SearchCallBack := GetProcAddress(Handle, 'SearchCallBack '); //这儿函数名称要根据你的实际名称
    if @SearchCallBack <> nil then 
    begin 
    SearchCallBack ( deviceHandle , pData ); 
    end;
    finally 
    FreeLibrary(Handle); 
    end;
    end; 
    end;