dll导出函数定义规范
2013-08-10 13:53
211 查看
#ifndef _CITICS_KCBPCLI2_H
#define _CITICS_KCBPCLI2_H
#ifdef WIN32
#ifdef CITICS_KCBPCLI_EXPORTS
#define CITICS_KCBPCLI_API __declspec(dllexport)
#else
#define CITICS_KCBPCLI_API __declspec(dllimport)
#endif
#define KCBPCLISTDCALL __stdcall /* ensure stcall calling convention on NT */
#else
#define KCBPCLI_API
#define KCBPCLISTDCALL /* leave blank for other systems */
#endif
typedef void *KCBPCLIHANDLE;
#ifdef __cplusplus
extern "C"
{
#endif
/// 初始化程序模块,加载Dll后,调用任何函数之前,必须首先进行初始化
CITICS_KCBPCLI_API int KCBPCLISTDCALL CITICS_KCBPCLI_InitPrograms2(KCBPCLIHANDLE hHandle = NULL);
/// 初始化服务器连接句柄,
CITICS_KCBPCLI_API int KCBPCLISTDCALL CITICS_KCBPCLI_Init(KCBPCLIHANDLE *hHandle);
CITICS_KCBPCLI_API int KCBPCLISTDCALL CITICS_KCBPCLI_Exit(KCBPCLIHANDLE hHandle);
/// 建立、断开服务器连接
CITICS_KCBPCLI_API int KCBPCLISTDCALL CITICS_KCBPCLI_ConnectServer2(KCBPCLIHANDLE hHandle);
CITICS_KCBPCLI_API int KCBPCLISTDCALL CITICS_KCBPCLI_DisConnect2(KCBPCLIHANDLE hHandle);
/// 提交业务请求
CITICS_KCBPCLI_API int KCBPCLISTDCALL CITICS_KCBPCLI_CallProgramAndCommit2(KCBPCLIHANDLE hHandle, char *ProgramName, char* Param);
/// 获取下一行数据
CITICS_KCBPCLI_API int KCBPCLISTDCALL CITICS_KCBPCLI_SQLFetch(KCBPCLIHANDLE hHandle);
/// 根据字段名称,读取字段值
CITICS_KCBPCLI_API int KCBPCLISTDCALL CITICS_KCBPCLI_RsGetColByName(KCBPCLIHANDLE hHandle, char *KeyName, char *Vlu);
/// 读取错误代码和错误信息
CITICS_KCBPCLI_API int KCBPCLISTDCALL CITICS_KCBPCLI_GetErr(KCBPCLIHANDLE hHandle, int *pErrCode, char *ErrMsg);
#ifdef __cplusplus
}
#endif
#endif
#define _CITICS_KCBPCLI2_H
#ifdef WIN32
#ifdef CITICS_KCBPCLI_EXPORTS
#define CITICS_KCBPCLI_API __declspec(dllexport)
#else
#define CITICS_KCBPCLI_API __declspec(dllimport)
#endif
#define KCBPCLISTDCALL __stdcall /* ensure stcall calling convention on NT */
#else
#define KCBPCLI_API
#define KCBPCLISTDCALL /* leave blank for other systems */
#endif
typedef void *KCBPCLIHANDLE;
#ifdef __cplusplus
extern "C"
{
#endif
/// 初始化程序模块,加载Dll后,调用任何函数之前,必须首先进行初始化
CITICS_KCBPCLI_API int KCBPCLISTDCALL CITICS_KCBPCLI_InitPrograms2(KCBPCLIHANDLE hHandle = NULL);
/// 初始化服务器连接句柄,
CITICS_KCBPCLI_API int KCBPCLISTDCALL CITICS_KCBPCLI_Init(KCBPCLIHANDLE *hHandle);
CITICS_KCBPCLI_API int KCBPCLISTDCALL CITICS_KCBPCLI_Exit(KCBPCLIHANDLE hHandle);
/// 建立、断开服务器连接
CITICS_KCBPCLI_API int KCBPCLISTDCALL CITICS_KCBPCLI_ConnectServer2(KCBPCLIHANDLE hHandle);
CITICS_KCBPCLI_API int KCBPCLISTDCALL CITICS_KCBPCLI_DisConnect2(KCBPCLIHANDLE hHandle);
/// 提交业务请求
CITICS_KCBPCLI_API int KCBPCLISTDCALL CITICS_KCBPCLI_CallProgramAndCommit2(KCBPCLIHANDLE hHandle, char *ProgramName, char* Param);
/// 获取下一行数据
CITICS_KCBPCLI_API int KCBPCLISTDCALL CITICS_KCBPCLI_SQLFetch(KCBPCLIHANDLE hHandle);
/// 根据字段名称,读取字段值
CITICS_KCBPCLI_API int KCBPCLISTDCALL CITICS_KCBPCLI_RsGetColByName(KCBPCLIHANDLE hHandle, char *KeyName, char *Vlu);
/// 读取错误代码和错误信息
CITICS_KCBPCLI_API int KCBPCLISTDCALL CITICS_KCBPCLI_GetErr(KCBPCLIHANDLE hHandle, int *pErrCode, char *ErrMsg);
#ifdef __cplusplus
}
#endif
#endif
相关文章推荐
- DLL导出函数和类的定义区别 __declspec(dllexport)
- 将DLL中的导出函数表导出到一定义(.DEF)文件
- DLL中__declspec(dllexport)和.def(模块定义文件)定义导出函数的一点区别
- 使用 DEF (模块定义) 文件从 DLL 导出函数和类
- 导出dll的函数定义
- DLL模块例2:使用__declspec(dllexport)导出函数,extern "C"规范修饰名称,隐式连接调用dll中函数
- DLL模块例1:使用.def模块导出函数,规范修饰名称,显示连接调用dll中函数
- DLL中__declspec(dllexport)和.def(模块定义文件)定义导出函数的一点区别
- DLL导出函数名
- DLL导出函数和类 之 __declspec(dllexport)
- VS中 DLL的创建及函数导出(参考MSDN)
- VB调用VC写的DLL导出函数出现“Bad DLL call convention”的解决
- DLL的开发与调用(一)——创建导出函数的Win32 DLL
- 深入浅出Dll( 函数导出、类导出、钓子dll、不同语言混合编程方法、插件等的实现方法)
- C#中调用C++的dll的参数为指针类型的导出函数(包括二级指针的情况)
- 内核分析PE获取DLL导出函数地址
- DLL声明导出函数的两种方式
- C#中调用C++的dll的参数为指针类型的导出函数(包括二级指针的情况)
- 转:DLL导出变量,函数,类
- C++28、 创建dll,导出单个函数以及导出类