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;
函数格式 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;
这是声明了一个函数指针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;