You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

127 lines
3.9 KiB
C

2 years ago
/*********************************************************************
*<EFBFBD>ļ<EFBFBD>˵<EFBFBD><EFBFBD>: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>dll<EFBFBD><EFBFBD>̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD>: logo
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD>: 2018/11/27
*<EFBFBD>޸<EFBFBD><EFBFBD><EFBFBD>־: 2018/11/27 cw4945 create
***********************************************************************/
#pragma once
#ifndef _INCLUDE_DLL_MANAGE_H
#define _INCLUDE_DLL_MANAGE_H
#ifndef EXPORT_C
#define EXPORT_C extern "C"
#endif
#ifndef WINAPI
#define WINAPI __stdcall
#endif
#ifndef MAX_NAME_LEN
#define MAX_NAME_LEN 32
#endif
enum EMDllType
{//dll<6C><6C><EFBFBD><EFBFBD>
EDll_vision = 0, //<2F>Ӿ<EFBFBD>
EDll_motor, //<2F>˶<EFBFBD><CBB6><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
EDll_robot, //<2F><>վ
};
struct TDllInfo
{//dll<6C><6C>Ϣ
int dllid; //ID
EMDllType type; //<2F><><EFBFBD><EFBFBD>
char file[MAX_NAME_LEN]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7> -- <20><><EFBFBD>ó<EFBFBD><C3B3><EFBFBD>32<33><32><EFBFBD>ֽ<EFBFBD>
};
#define ERR_INVALID_CMD -801 //<2F><>֧<EFBFBD>ֵ<EFBFBD>ָ<EFBFBD><D6B8>
/***********************************************
*Function: <EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD>dll<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ
*Intput: NULL
*Output: NULL
*Return: <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><EFBFBD>ʧ<EFBFBD>ܷ<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
***********************************************/
EXPORT_C int WINAPI dllmgr_init();
/***********************************************
*Function: <EFBFBD>ͷ<EFBFBD>dll<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ
*Intput: NULL
*Output: NULL
*Return: <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><EFBFBD>ʧ<EFBFBD>ܷ<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
***********************************************/
EXPORT_C int WINAPI dllmgr_deinit();
/***********************************************
*Function: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD>result<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*Intput: pszcmd <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
result <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
*Output: result <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
*Return: <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><EFBFBD>ʧ<EFBFBD>ܷ<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
pszcmd <EFBFBD><EFBFBD>Ϊcmd+param
cmd<EFBFBD><EFBFBD>param֮<EFBFBD><EFBFBD><EFBFBD>ÿո<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD><EFBFBD>ö<EFBFBD><EFBFBD>Ÿ<EFBFBD><EFBFBD><EFBFBD>
***********************************************/
EXPORT_C int WINAPI dllmgr_command(const char* pszcmd, char* result = 0);
/***********************************************
*Function: <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD>п<EFBFBD>dll<EFBFBD>б<EFBFBD>
*Intput: plist dll<EFBFBD>б<EFBFBD>
*Output: plist
*Return: <EFBFBD><EFBFBD><EFBFBD><EFBFBD>dll<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,ʧ<EFBFBD>ܷ<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><0
*PS: <EFBFBD>ȴ<EFBFBD>NULL<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>new<EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD>Ϣ
***********************************************/
EXPORT_C int WINAPI get_motor_dll_list(TDllInfo* plist = 0);
/***********************************************
*Function: <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӿ<EFBFBD>dll<EFBFBD>б<EFBFBD>
*Intput: plist dll<EFBFBD>б<EFBFBD>
*Output: plist
*Return: <EFBFBD><EFBFBD><EFBFBD><EFBFBD>dll<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,ʧ<EFBFBD>ܷ<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><0
*PS: <EFBFBD>ȴ<EFBFBD>NULL<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>new<EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD>Ϣ
***********************************************/
EXPORT_C int WINAPI get_vision_dll_list(TDllInfo* plist = 0);
/***********************************************
*Function: <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>robot dll<EFBFBD>б<EFBFBD>
*Intput: plist dll<EFBFBD>б<EFBFBD>
*Output: plist
*Return: <EFBFBD><EFBFBD><EFBFBD><EFBFBD>dll<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,ʧ<EFBFBD>ܷ<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><0
*PS: <EFBFBD>ȴ<EFBFBD>NULL<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>new<EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD>Ϣ
***********************************************/
EXPORT_C int WINAPI get_robot_dll_list(TDllInfo* plist = 0);
/***********************************************
*Function: <EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>dll<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> -- <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>dllid
*Intput: pdll dll<EFBFBD><EFBFBD>Ϣ
*Output: NULL
*Return: <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><EFBFBD>ʧ<EFBFBD>ܷ<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
***********************************************/
EXPORT_C int WINAPI add_dll_info(TDllInfo* pdll);
/***********************************************
*Function: <EFBFBD>޸<EFBFBD>һ<EFBFBD><EFBFBD>dll<EFBFBD>б<EFBFBD><EFBFBD><EFBFBD>Ϣ -- <EFBFBD><EFBFBD><EFBFBD><EFBFBD>dllid
*Intput: pdll dll<EFBFBD><EFBFBD>Ϣ
*Output: NULL
*Return: <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><EFBFBD>ʧ<EFBFBD>ܷ<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
***********************************************/
EXPORT_C int WINAPI update_dll_info(TDllInfo* pdll);
/***********************************************
*Function: <EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>ɾ<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>dll
*Intput: dllid Ψһ<EFBFBD><EFBFBD>ʶ<EFBFBD><EFBFBD>
*Output: NULL
*Return: <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><EFBFBD>ʧ<EFBFBD>ܷ<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
***********************************************/
EXPORT_C int WINAPI del_dll_info(int dllid);
/***********************************************
*Function: ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>ȡdll<EFBFBD><EFBFBD>Ϣ
*Intput: dllid Ψһ<EFBFBD><EFBFBD>ʶ<EFBFBD><EFBFBD>
pdll dll<EFBFBD><EFBFBD>Ϣ <EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD>NULL
*Output: pdll dll<EFBFBD><EFBFBD>Ϣ <EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ի<EFBFBD>ȡ<EFBFBD><EFBFBD>Ϣ
*Return: <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><EFBFBD>ʧ<EFBFBD>ܷ<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
***********************************************/
EXPORT_C int WINAPI get_dll_info(int dllid, TDllInfo* pdll = 0);
#endif //<2F><>ֹ<EFBFBD>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD>