561 lines
15 KiB
C
561 lines
15 KiB
C
|
|
/********************************************************************
|
|||
|
|
created: 2014/12/23
|
|||
|
|
author: M.Yang
|
|||
|
|
purpose: UCI<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD>ֶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
|||
|
|
modify:
|
|||
|
|
*********************************************************************/
|
|||
|
|
#ifndef ucidef_h__
|
|||
|
|
#define ucidef_h__
|
|||
|
|
|
|||
|
|
#if (defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__NT__)) && !defined(_NI_mswin16_)
|
|||
|
|
#define _UCIAPI __stdcall
|
|||
|
|
#define _UCICallBack __stdcall
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
#define _in
|
|||
|
|
#define _out
|
|||
|
|
#define _in_out
|
|||
|
|
|
|||
|
|
#ifdef __cplusplus
|
|||
|
|
namespace uci {
|
|||
|
|
#endif // __cplusplus
|
|||
|
|
|
|||
|
|
#ifdef _CVI_
|
|||
|
|
#define u_inline static
|
|||
|
|
#else
|
|||
|
|
#define u_inline inline
|
|||
|
|
#endif // _CVI_
|
|||
|
|
|
|||
|
|
#ifndef MAX_PATH
|
|||
|
|
#define MAX_PATH 260
|
|||
|
|
#endif // !MAX_PATH
|
|||
|
|
|
|||
|
|
//////////////////////////////////////////////////////////////////////////
|
|||
|
|
//{ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>
|
|||
|
|
#ifdef _UNICODE
|
|||
|
|
//@brief : <20><>ʾһ<CABE><D2BB> Unicode <20>ַ<EFBFBD><D6B7><EFBFBD>
|
|||
|
|
#define u_tchar wchar_t
|
|||
|
|
#else
|
|||
|
|
//@brief : <20><>ʾһ<CABE><D2BB> ASCII <20>ַ<EFBFBD><D6B7><EFBFBD>
|
|||
|
|
#define u_tchar char
|
|||
|
|
#endif // _UNICODE
|
|||
|
|
|
|||
|
|
#if defined(_WIN64)
|
|||
|
|
typedef unsigned __int64 u_unit_ptr;
|
|||
|
|
typedef __int64 u_long_ptr;
|
|||
|
|
#else
|
|||
|
|
typedef unsigned int u_unit_ptr;
|
|||
|
|
typedef long u_long_ptr;
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
//@brief : Boolean<61><6E>
|
|||
|
|
#define u_bool bool
|
|||
|
|
//@brief : 8λ<38><EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define u_byte unsigned char
|
|||
|
|
//@brief : 8λ<38>з<EFBFBD><D0B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define u_char char
|
|||
|
|
//@brief : <20><>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͵Ļ<CDB5><C4BB><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>
|
|||
|
|
#define u_buf void*
|
|||
|
|
//@brief : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͵ij<CDB5><C4B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define u_object void
|
|||
|
|
//@brief : <20><>ʾ 16 λ<>з<EFBFBD><D0B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define u_short short
|
|||
|
|
//@brief : <20><>ʾ 16 λ<><EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define u_ushort unsigned short
|
|||
|
|
//@brief : <20><>ʾ 16 λ<>з<EFBFBD><D0B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define u_int16 u_short
|
|||
|
|
//@brief : <20><>ʾ 16 λ<><EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define u_uint16 u_ushort
|
|||
|
|
//@brief : <20><>ʾ 32 λ<>з<EFBFBD><D0B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define u_int32 int
|
|||
|
|
//@brief : <20><>ʾ 32 λ<><EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define u_uint32 unsigned int
|
|||
|
|
//@brief : <20><>ʾUCI<43>ӿڷ<D3BF><DAB7>ص<EFBFBD>״ֵ̬(32λ<32>з<EFBFBD><D0B7><EFBFBD><EFBFBD><EFBFBD>)
|
|||
|
|
#define u_status u_int32
|
|||
|
|
//@brief : <20><>ʾ<EFBFBD><CABE>С<EFBFBD><D0A1>32λ<32><EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define u_size u_uint32
|
|||
|
|
//@brief : <20><>ʾ<EFBFBD>ỰID<49><44>32λ<32><EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define u_session u_uint32
|
|||
|
|
//@brief : <20><>ʾ<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define u_string u_tchar*
|
|||
|
|
//@brief : <20><>ʾֻ<CABE><D6BB><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define u_cstring const u_tchar*
|
|||
|
|
//@brief : <20><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>ID<49><44><EFBFBD>ͣ<EFBFBD>32λ<32><EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define u_attr u_int32
|
|||
|
|
//@brief : <20><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD>ͣ<EFBFBD>32λ<32><EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define u_attr_v u_int32
|
|||
|
|
//@brief : <20><>ʾһ<CABE><D2BB>16λ<36><EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͵ĵ<CDB5><C4B5><EFBFBD>
|
|||
|
|
#define u_word u_ushort
|
|||
|
|
//@brief : <20><>ʾһ<CABE><D2BB>32λ<32><EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD>˫<EFBFBD><CBAB>
|
|||
|
|
#define u_dword u_uint32
|
|||
|
|
//@brief : <20><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
|||
|
|
#define u_wparam u_unit_ptr
|
|||
|
|
//@brief : <20><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
|||
|
|
#define u_lparam u_long_ptr
|
|||
|
|
//}
|
|||
|
|
|
|||
|
|
//////////////////////////////////////////////////////////////////////////
|
|||
|
|
//{ <20>ӿڷ<D3BF><DAB7><EFBFBD>״ֵ̬<CCAC><D6B5><EFBFBD><EFBFBD>
|
|||
|
|
//@brief : <20><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>
|
|||
|
|
#define UCI_SUCCESS (0)
|
|||
|
|
//@brief : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼֵ
|
|||
|
|
#define UCI_ERR (-1000)
|
|||
|
|
//@brief : <20>жϵ<D0B6>ǰ<EFBFBD>ӿ<EFBFBD><D3BF>Ƿ<EFBFBD>ִ<EFBFBD><D6B4>ʧ<EFBFBD><CAA7>
|
|||
|
|
//@brief : <20>жϵ<D0B6>ǰ<EFBFBD>ӿ<EFBFBD><D3BF>Ƿ<EFBFBD>ִ<EFBFBD>гɹ<D0B3>
|
|||
|
|
#define UCIERR(r) (r < 0)
|
|||
|
|
#define UCISUCCESS(r) (!UCIERR(r))
|
|||
|
|
|
|||
|
|
//@brief : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
typedef enum _UCIErr {
|
|||
|
|
NoError = 0,
|
|||
|
|
|
|||
|
|
//@brief : <20><>Դ<EFBFBD><D4B4>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
InitResourceError = UCI_ERR - 20,
|
|||
|
|
//@brief : <20><>Ч<EFBFBD>ĻỰ
|
|||
|
|
Invalid_Session,
|
|||
|
|
//@brief : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ
|
|||
|
|
Timeout,
|
|||
|
|
//@brief : <20><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
|
|||
|
|
Failed,
|
|||
|
|
//@brief : <20><>֧<EFBFBD>ֵIJ<D6B5><C4B2><EFBFBD>
|
|||
|
|
Unsupported,
|
|||
|
|
//@brief : <20>ڴ<EFBFBD><DAB4>ռ䲻<D5BC><E4B2BB>
|
|||
|
|
Insufficient_Memory,
|
|||
|
|
//@brief : ϵͳ<CFB5><CDB3>æ<EFBFBD><C3A6><EFBFBD><EFBFBD><DEB7><EFBFBD>Ӧ
|
|||
|
|
Busy,
|
|||
|
|
//@brief : ͨ<><CDA8><EFBFBD>쳣<EFBFBD><ECB3A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>棡
|
|||
|
|
COMExpection,
|
|||
|
|
//@brief : ͨ<><CDA8>δ<EFBFBD><EFBFBD>
|
|||
|
|
ChannelNotOpened,
|
|||
|
|
|
|||
|
|
//@brief : δ֪<CEB4>Ĵ<EFBFBD><C4B4><EFBFBD>
|
|||
|
|
Unknown = UCI_ERR - 40 - 1,
|
|||
|
|
|
|||
|
|
//@brief : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><D3B5>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>
|
|||
|
|
Connect_InvalidAddress = UCI_ERR - 40,
|
|||
|
|
//@brief : <20><><EFBFBD>ӻ<EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD>
|
|||
|
|
Connect_NotBuild,
|
|||
|
|
//@brief : <20><><EFBFBD><EFBFBD><EFBFBD>ѶϿ<D1B6>
|
|||
|
|
Connect_Break,
|
|||
|
|
//@brief : <20><>֧<EFBFBD>ֵ<EFBFBD>ͨ<EFBFBD>ŷ<EFBFBD>ʽ
|
|||
|
|
Connect_Unsupported_COMType,
|
|||
|
|
|
|||
|
|
//@brief : δ<><CEB4><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD>豸
|
|||
|
|
Device_NoFound = UCI_ERR - 60,
|
|||
|
|
//@brief : <20><>֧<EFBFBD>ֵ<EFBFBD><D6B5>豸
|
|||
|
|
Device_Unsupported,
|
|||
|
|
//@brief : <20><>Ҫ<EFBFBD><D2AA>ִ<EFBFBD>в<EFBFBD>ѯ<EFBFBD>豸<EFBFBD>IJ<EFBFBD><C4B2><EFBFBD>
|
|||
|
|
Device_QueryFirst,
|
|||
|
|
//@brief : <20><><EFBFBD>Ͳ<EFBFBD>ƥ<EFBFBD><C6A5>
|
|||
|
|
Device_NotMatch,
|
|||
|
|
|
|||
|
|
//@brief : <20><>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD>豸ʧ<E8B1B8><CAA7>
|
|||
|
|
Query_LANNodesFailed,
|
|||
|
|
|
|||
|
|
//@brief : USB<53>豸<EFBFBD><E8B1B8>ַֻ<D6B7><D6BB>ִ<EFBFBD>в<EFBFBD>ѯ<EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7>
|
|||
|
|
//@remarks : <20><>UCI<43><EFBFBD><E2B5BC><EFBFBD><EFBFBD>USB<53>豸<EFBFBD><E8B1B8>ַ<EFBFBD><D6B7>ֻ<EFBFBD><D6BB>һ<EFBFBD><D2BB><EFBFBD>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8>ַ<EFBFBD><D6B7>
|
|||
|
|
AddrValid_AfterQueryDeviceOper,
|
|||
|
|
|
|||
|
|
//@brief : δ<><CEB4><EFBFBD><EFBFBD>U<EFBFBD>̽<EFBFBD><CCBD><EFBFBD>
|
|||
|
|
UDisk_NotFound,
|
|||
|
|
//@brief : <20><><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
Key_Locked,
|
|||
|
|
|
|||
|
|
//@brief : <20><><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>
|
|||
|
|
CMD_Invalid_StringFormat = UCI_ERR - 80,
|
|||
|
|
//@brief : ֻ֧<D6BB>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
CMD_OnlySupportSingle,
|
|||
|
|
//@brief : һ<><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ֧<D6BB><D6A7>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
CMD_OnlySupportSingleAttr,
|
|||
|
|
//@brief : <20><>֧<EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
CMD_Unsupported,
|
|||
|
|
//@brief : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
|
|||
|
|
CMD_SendFailed,
|
|||
|
|
//@brief : Э<><D0AD><EFBFBD><EFBFBD><EFBFBD>ݸ<EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>
|
|||
|
|
CMD_Invalid_ProtocolFormat,
|
|||
|
|
//@brief : <20>豸<EFBFBD><E8B1B8>д<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>flashʧ<68>ܣ<EFBFBD>
|
|||
|
|
CMD_WriteFileToFlash_Failed,
|
|||
|
|
//@brief : δ<><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD>Ļظ<C4BB><D8B8><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
CMD_NoFound_Valid_Reply_Data,
|
|||
|
|
//@brief : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>鿴<EFBFBD><E9BFB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>Э<EFBFBD><D0AD>
|
|||
|
|
CMD_Error_Message,
|
|||
|
|
//@brief : <20><>Ч<EFBFBD>ı<EFBFBD><C4B1><EFBFBD>ʽ
|
|||
|
|
CMD_Invalid_Expression,
|
|||
|
|
|
|||
|
|
//@brief : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
Args_Invalid = UCI_ERR - 100,
|
|||
|
|
//@brief : <20><><EFBFBD><EFBFBD><EFBFBD>ṩ<EFBFBD>Ŀռ<C4BF>̫С
|
|||
|
|
Args_MemoryTooSmall,
|
|||
|
|
//@brief : <20><><EFBFBD>ṩ<EFBFBD><E1B9A9><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>̫<EFBFBD><CCAB>(<28>50<35><30><EFBFBD>ֽ<EFBFBD>)
|
|||
|
|
Args_FileNameTooLong,
|
|||
|
|
//@brief : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD>С<EFBFBD><D0A1>Э<EFBFBD>鲻ƥ<E9B2BB><C6A5>(<28><>ֹ<EFBFBD><D6B9><EFBFBD>ݴ<EFBFBD><DDB4><EFBFBD>)
|
|||
|
|
Args_DataLenNotMatch,
|
|||
|
|
|
|||
|
|
//@brief : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
Data_Overflow = UCI_ERR - 120,
|
|||
|
|
//@brief : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
|
|||
|
|
Data_OutRange,
|
|||
|
|
//@brief : <20><><EFBFBD><EFBFBD>δȫ<CEB4><C8AB><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1>
|
|||
|
|
Data_NotReadEnoughLenth,
|
|||
|
|
//@brief : <20><><EFBFBD><EFBFBD>У<EFBFBD><D0A3>ʧ<EFBFBD><CAA7>
|
|||
|
|
Data_ECC_Failed,
|
|||
|
|
//@brief : <20><>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
Data_Invalid,
|
|||
|
|
//@brief : <20><><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9>ʧ<EFBFBD><CAA7>
|
|||
|
|
Data_Zip_Error,
|
|||
|
|
//@brief : <20><><EFBFBD>ݽ<EFBFBD>ѹ<EFBFBD><D1B9>ʧ<EFBFBD><CAA7>
|
|||
|
|
Data_UnZip_Error,
|
|||
|
|
//@brief : <20><><EFBFBD>ݴ<EFBFBD><DDB4><EFBFBD>ʧ<EFBFBD><CAA7>
|
|||
|
|
Data_Transfer_Error,
|
|||
|
|
//@brief : <20><><EFBFBD>ݴ<EFBFBD><DDB4><EFBFBD>ʧ<EFBFBD><CAA7>
|
|||
|
|
Data_Transfer_Break,
|
|||
|
|
//@brief : <20><><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7><EFBFBD>ݿɶ<DDBF>ȡ
|
|||
|
|
Data_No_Data_Incoming,
|
|||
|
|
|
|||
|
|
//@brief :
|
|||
|
|
File_AccessDenied = UCI_ERR - 140,
|
|||
|
|
//@brief : An unspecified error occurred.
|
|||
|
|
File_GenericException,
|
|||
|
|
//@brief : The file could not be located.
|
|||
|
|
File_NotFound,
|
|||
|
|
//@brief : All or part of the path is invalid.
|
|||
|
|
File_BadPath,
|
|||
|
|
//@brief : The permitted number of open files was exceeded.
|
|||
|
|
File_TooManyOpenFiles,
|
|||
|
|
//@brief : There was an attempt to use an invalid file handle
|
|||
|
|
// or The file format is unsupported!
|
|||
|
|
// or The file data is error!
|
|||
|
|
File_InvalidFile,
|
|||
|
|
//@brief : The current working directory cannot be removed
|
|||
|
|
File_RemoveCurrentDir,
|
|||
|
|
//@brief : There are no more directory entries
|
|||
|
|
File_DirectoryFull,
|
|||
|
|
//@brief : There was an error trying to set the file pointer
|
|||
|
|
File_BadSeek,
|
|||
|
|
//@brief : There was a hardware error
|
|||
|
|
File_HardIO,
|
|||
|
|
//@brief : SHARE.EXE was not loaded, or a shared region was locked
|
|||
|
|
File_SharingViolation,
|
|||
|
|
//@brief : There was an attempt to lock a region that was already locked
|
|||
|
|
File_LockViolation,
|
|||
|
|
//@brief : The disk is full
|
|||
|
|
File_DiskFull,
|
|||
|
|
//@brief : The end of file was reached
|
|||
|
|
File_EndOfFile,
|
|||
|
|
//@brief : д<>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
|
|||
|
|
File_SaveToDiskFailed,
|
|||
|
|
}UErr;
|
|||
|
|
//}
|
|||
|
|
//////////////////////////////////////////////////////////////////////////
|
|||
|
|
|
|||
|
|
//@brief : <20><><EFBFBD><EFBFBD><EFBFBD>ĻỰID
|
|||
|
|
#define INVALID_SESSION ((u_uint32)(-1))
|
|||
|
|
|
|||
|
|
//////////////////////////////////////////////////////////////////////////
|
|||
|
|
//{ <20><><EFBFBD><EFBFBD>
|
|||
|
|
//<2F>л<EFBFBD><D0BB><EFBFBD>Ӣ<EFBFBD>ģ<EFBFBD> "lang:zh-hans" or "lang:en-us"
|
|||
|
|
//ʹ<><CAB9>USB<53>豸<EFBFBD>Ƴ<EFBFBD><C6B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӽ<EFBFBD><D3BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> "devchange:1"
|
|||
|
|
//}
|
|||
|
|
|
|||
|
|
|
|||
|
|
#define CACHE_LINE 1
|
|||
|
|
#define CACHE_ALIGN __declspec(align(CACHE_LINE))
|
|||
|
|
|
|||
|
|
//@brief : <20><><EFBFBD>ýṹ<C3BD><E1B9B9><EFBFBD>Ķ<EFBFBD><C4B6>뷽ʽ
|
|||
|
|
#define PACK_ALIGN(n) __declspec(align(n))
|
|||
|
|
|
|||
|
|
|
|||
|
|
#ifdef __cplusplus
|
|||
|
|
extern "C"{
|
|||
|
|
#endif // __cplusplus
|
|||
|
|
|
|||
|
|
//one Word is 2 bytes
|
|||
|
|
u_inline u_word UCI_HIWORD(u_dword _dw) { return ((u_word)((_dw >> 16) & 0xffff)); }
|
|||
|
|
u_inline u_word UCI_LOWORD(u_dword _dw) { return ((u_word)(_dw & 0xffff)); }
|
|||
|
|
|
|||
|
|
//#pragma pack(show)// C4810
|
|||
|
|
//ensure byte-packed structures<65><73>1<EFBFBD>ֽڶ<D6BD><DAB6>룩
|
|||
|
|
#include <PshPack1.h>//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>뻷<EFBFBD><EBBBB7><EFBFBD><EFBFBD>û<EFBFBD>и<EFBFBD><D0B8>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>滻Ϊ<E6BBBB><CEAA>ǰƽ̨<C6BD><CCA8><EFBFBD>ֽڶ<D6BD><DAB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>䡣
|
|||
|
|
|
|||
|
|
//@brief : <20><><EFBFBD><EFBFBD><EFBFBD>ݽӿڵIJ<DAB5><C4B2><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
//@remarks : <20><>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8>uci_CreateRParams<6D>ӿڴ<D3BF><DAB4><EFBFBD>
|
|||
|
|
typedef struct _RParams {
|
|||
|
|
//@brief : <20><><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'\0'<27><>β. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Э<EFBFBD><D0AD><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD>
|
|||
|
|
u_cstring CMDString;
|
|||
|
|
//@brief : Ҫ<><D2AA><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӿ<EFBFBD><D3BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA>ȡ\<5C><>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƕ<EFBFBD>Ӧ<EFBFBD>ģ<EFBFBD>
|
|||
|
|
u_uint32 RetCount;
|
|||
|
|
//@brief : <20><><EFBFBD><EFBFBD>ʱ
|
|||
|
|
u_uint32 Timeout;
|
|||
|
|
//@brief : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
//@remarks : <20><>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>ã<EFBFBD><C3A3>ɿ<EFBFBD><C9BF><EFBFBD>;<3B>ڲ<EFBFBD>ѯ<EFBFBD>豸ʱ<E8B1B8>õ<EFBFBD><C3B5><EFBFBD>
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΪQParams<6D><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD>Ϊ<CEAA><D7BC>
|
|||
|
|
u_buf ExtraData; //reserve
|
|||
|
|
//@brief : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵij<DDB5><C4B3><EFBFBD>
|
|||
|
|
u_size ExtraDataLen;
|
|||
|
|
}RParams, *PRParams;
|
|||
|
|
|
|||
|
|
#ifdef __cplusplus
|
|||
|
|
inline RParams* uci_CreateRParams(RParams& _p, u_cstring _cmd,
|
|||
|
|
u_uint32 _timeout, u_buf _ExtraData,
|
|||
|
|
u_size _ExtraDataLen) {
|
|||
|
|
memset(&_p, 0, sizeof(_p));
|
|||
|
|
_p.CMDString = _cmd;
|
|||
|
|
_p.Timeout = _timeout;
|
|||
|
|
_p.ExtraData = _ExtraData;
|
|||
|
|
_p.ExtraDataLen = _ExtraDataLen;
|
|||
|
|
return &_p;
|
|||
|
|
}
|
|||
|
|
#else
|
|||
|
|
u_inline RParams* uci_CreateRParams(RParams* _p, u_cstring _cmd,
|
|||
|
|
u_uint32 _timeout, u_buf _ExtraData,
|
|||
|
|
u_size _ExtraDataLen) {
|
|||
|
|
memset(_p, 0, sizeof(*_p));
|
|||
|
|
_p->CMDString = _cmd;
|
|||
|
|
_p->Timeout = _timeout;
|
|||
|
|
_p->ExtraData = _ExtraData;
|
|||
|
|
_p->ExtraDataLen = _ExtraDataLen;
|
|||
|
|
return _p;
|
|||
|
|
}
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
typedef struct _DeviceIOParams {
|
|||
|
|
u_int32 Count;
|
|||
|
|
u_int32* Data;
|
|||
|
|
}DeviceIOParams;
|
|||
|
|
|
|||
|
|
typedef struct _QParams {
|
|||
|
|
//@brief : Ҫ<><D2AA>ѯ<EFBFBD><D1AF>ͨ<EFBFBD>Žڵ<C5BD><DAB5><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
//@remarks : <20><>enum NodeType ȡֵ<C8A1><D6B5> ͨ<><CDA8><EFBFBD><EFBFBD>־λ<D6BE><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
|
|||
|
|
//@eg <20><> NodeType::USB | NodeType::LAN
|
|||
|
|
u_int32 Type;
|
|||
|
|
//@brief : <20>˿ڼ<CBBF><DABC>˿<EFBFBD><CBBF><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
u_int32 PortCount;
|
|||
|
|
//@brief : <20>˿ڼ<CBBF>
|
|||
|
|
u_int32* Ports;
|
|||
|
|
//@brief : PVID<49><44><EFBFBD><EFBFBD>PVID<49>ĸ<EFBFBD><C4B8><EFBFBD>
|
|||
|
|
//@remarks :
|
|||
|
|
u_int32 PVIDCount;
|
|||
|
|
//@brief : PID <20><> VID<49><44>
|
|||
|
|
//@remarks : ʹ<><CAB9>MakePVID<49><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD>GetPID<49><44>GetVID<49><44>ȡ
|
|||
|
|
u_int32* PVID;
|
|||
|
|
//@brief : <20><>ѯ<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>nullptrʱ<72><CAB1>ʾ<EFBFBD><CABE>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯָ<D1AF><D6B8><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8>
|
|||
|
|
u_cstring Msg;
|
|||
|
|
}QParams, *PQParams;//@brief : <20><>ѯ<EFBFBD>豸ʱ<E8B1B8><CAB1><EFBFBD><EFBFBD><EFBFBD>ò<EFBFBD><C3B2><EFBFBD>
|
|||
|
|
|
|||
|
|
u_inline u_int32 MakePVID(u_ushort _pid, u_ushort _vid) { return ((_pid << 16) | (_vid)); };
|
|||
|
|
|
|||
|
|
u_inline u_ushort GetPID(u_int32 _pvid) { return UCI_HIWORD(_pvid); }
|
|||
|
|
|
|||
|
|
u_inline u_ushort GetVID(u_int32 _pvid) { return UCI_LOWORD(_pvid); }
|
|||
|
|
|
|||
|
|
#ifdef __cplusplus
|
|||
|
|
inline QParams* UCI_CreateQParam(QParams& _qp, u_int32 _type,
|
|||
|
|
u_int32* _ports, u_int32 _port_cnt,
|
|||
|
|
u_int32* _pvid, u_int32 _pvid_cnt, u_cstring _msg) {
|
|||
|
|
memset(&_qp, 0, sizeof(_qp));
|
|||
|
|
_qp.Type = _type;
|
|||
|
|
_qp.Ports = _ports;
|
|||
|
|
_qp.PortCount = _port_cnt;
|
|||
|
|
_qp.PVID = _pvid;
|
|||
|
|
_qp.PVIDCount = _pvid_cnt;
|
|||
|
|
_qp.Msg = _msg;
|
|||
|
|
return &_qp;
|
|||
|
|
}
|
|||
|
|
#else
|
|||
|
|
u_inline QParams* UCI_CreateQParam(QParams* _qp, u_int32 _type,
|
|||
|
|
u_int32* _ports, u_int32 _port_cnt,
|
|||
|
|
u_int32* _pvid, u_int32 _pvid_cnt, u_cstring _msg) {
|
|||
|
|
memset(_qp, 0, sizeof(*_qp));
|
|||
|
|
_qp->Type = _type;
|
|||
|
|
_qp->Ports = _ports;
|
|||
|
|
_qp->PortCount = _port_cnt;
|
|||
|
|
_qp->PVID = _pvid;
|
|||
|
|
_qp->PVIDCount = _pvid_cnt;
|
|||
|
|
_qp->Msg = _msg;
|
|||
|
|
return _qp;
|
|||
|
|
}
|
|||
|
|
#endif
|
|||
|
|
//@brief : д<><D0B4><EFBFBD>ݽӿڲ<D3BF><DAB2><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
//@remarks : <20><>ͨ<EFBFBD><CDA8><EFBFBD>ӿ<EFBFBD>uci_CreateWParams<6D><73><EFBFBD><EFBFBD>
|
|||
|
|
typedef struct _WParams {
|
|||
|
|
//@brief : <20><><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'\0'<27><>β. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD>
|
|||
|
|
u_cstring CMDString;
|
|||
|
|
//@brief : <20><><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӿ<EFBFBD><D3BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
u_uint32 RetCount;
|
|||
|
|
//@brief : <20><><EFBFBD><EFBFBD>ʱ
|
|||
|
|
u_uint32 Timeout;
|
|||
|
|
}WParams, *PWParams;
|
|||
|
|
|
|||
|
|
#ifdef __cplusplus
|
|||
|
|
u_inline WParams* uci_CreateWParams(WParams& _p, u_cstring _cmd, u_uint32 _timeout) {
|
|||
|
|
memset(&_p, 0, sizeof(_p));
|
|||
|
|
_p.CMDString = _cmd;
|
|||
|
|
_p.Timeout = _timeout;
|
|||
|
|
return &_p;
|
|||
|
|
}
|
|||
|
|
#else
|
|||
|
|
u_inline WParams* uci_CreateWParams(WParams* _p, u_cstring _cmd, u_uint32 _timeout) {
|
|||
|
|
memset(_p, 0, sizeof(*_p));
|
|||
|
|
_p->CMDString = _cmd;
|
|||
|
|
_p->Timeout = _timeout;
|
|||
|
|
return _p;
|
|||
|
|
}
|
|||
|
|
#endif
|
|||
|
|
typedef struct _CommandParams {
|
|||
|
|
//@brief : <20><><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'\0'<27><>β. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD>
|
|||
|
|
u_cstring CMDString;
|
|||
|
|
//@brief : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1
|
|||
|
|
u_uint32 Param1;
|
|||
|
|
//@brief : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1
|
|||
|
|
u_uint32 Param2;
|
|||
|
|
//@brief : <20><>ʱ
|
|||
|
|
u_uint32 Timeout;
|
|||
|
|
}CommandParams, *PCommandParams;
|
|||
|
|
|
|||
|
|
//@brief : д<>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
typedef struct _WFileParams {
|
|||
|
|
//@brief : <20><><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'\0'<27><>β. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD>
|
|||
|
|
u_cstring CMDString;
|
|||
|
|
//@brief : Ҫд<D2AA><D0B4><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
u_cstring FilePath;
|
|||
|
|
//@brief : д<><D0B4>ʱ(<28><>λ<EFBFBD><CEBB>ms)
|
|||
|
|
u_uint32 Timeout;
|
|||
|
|
}WFileParams, *PWFileParams;
|
|||
|
|
|
|||
|
|
//@brief : <20><><EFBFBD>ļ<EFBFBD><C4BC>ӿڵIJ<DAB5><C4B2><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
typedef struct _RFileParams {
|
|||
|
|
//@brief : <20><><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'\0'<27><>β. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD>
|
|||
|
|
u_cstring CMDString;
|
|||
|
|
//@brief : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD><DDB5><EFBFBD><EFBFBD>ش<EFBFBD><D8B4>̵<EFBFBD><CCB5>ļ<EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>ͺ<EFBFBD><EFBFBD><D7BA>
|
|||
|
|
u_cstring FilePath;
|
|||
|
|
//@brief : <20><><EFBFBD><EFBFBD>ʱ(<28><>λ<EFBFBD><CEBB>ms)
|
|||
|
|
u_uint32 Timeout;
|
|||
|
|
//@brief : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>·<EFBFBD><C2B7>
|
|||
|
|
u_tchar FilePathFinal[MAX_PATH];
|
|||
|
|
}RFileParams, *PRFileParams;
|
|||
|
|
|
|||
|
|
//@brief : ͨ<>Žڵ<C5BD><DAB5><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
//@remarks : <20><>QParams<6D><73><EFBFBD>ǰ<EFBFBD>λ<EFBFBD>룬<EFBFBD><EBA3AC>Node<64><65>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>enumֵ<6D><D6B5>
|
|||
|
|
typedef enum _NodeType{
|
|||
|
|
LAN = 0x0001,
|
|||
|
|
USB = 0x0010,
|
|||
|
|
}NodeType;
|
|||
|
|
|
|||
|
|
//@brief : USB<53>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
//@remarks :
|
|||
|
|
typedef struct _USBDescriptor {
|
|||
|
|
//@brief : PID
|
|||
|
|
u_ushort PID;
|
|||
|
|
//@brief : VID
|
|||
|
|
u_ushort VID;
|
|||
|
|
//@brief : <20><>ַ
|
|||
|
|
u_ushort Addr;
|
|||
|
|
}USBDescriptor;
|
|||
|
|
|
|||
|
|
//@brief : IP<49><50>ַ
|
|||
|
|
//@remarks : <20><><EFBFBD><EFBFBD>˳<EFBFBD><CBB3>Ϊ f1(192).f2(168).f3(1).f4(253) - С<><D0A1>ģʽ
|
|||
|
|
typedef union _IPAddr {
|
|||
|
|
struct { u_byte f1, f2, f3, f4; } Field;
|
|||
|
|
u_int32 Addr;
|
|||
|
|
}u_IPAddr;
|
|||
|
|
|
|||
|
|
//@brief : LAN<41><4E>ͨ<EFBFBD>ŵ<EFBFBD><C5B5>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
//@remarks :
|
|||
|
|
typedef struct _LANDescriptor {
|
|||
|
|
//@brief : IP<49><50>ַ<EFBFBD><D6B7><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD>
|
|||
|
|
u_tchar IP[16];
|
|||
|
|
//@brief : IP<49><50>ַ
|
|||
|
|
u_IPAddr Addr;
|
|||
|
|
//@brief : <20><><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD>
|
|||
|
|
//@remarks : TCPIP<49><50><EFBFBD><EFBFBD><EFBFBD>õĶ˿ں<CBBF>
|
|||
|
|
u_ushort Port;
|
|||
|
|
}LANDescriptor;
|
|||
|
|
|
|||
|
|
//@brief : <20><>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD>ڵ<EFBFBD><DAB5>IJ<EFBFBD><C4B2><EFBFBD>
|
|||
|
|
//@remarks :
|
|||
|
|
typedef struct _Node {
|
|||
|
|
//@brief : ͨ<>Žӿڷ<D3BF>ʽ
|
|||
|
|
NodeType Type;
|
|||
|
|
//@brief : <20>豸<EFBFBD><E8B1B8>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
|||
|
|
//@remarks : <20>ڱ<EFBFBD>UCI<43><EFBFBD><E2B5BC>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΪUCI<43><49>Э<EFBFBD><D0AD>һ<EFBFBD>µ<EFBFBD><C2B5><EFBFBD><EFBFBD>ƣ<EFBFBD>
|
|||
|
|
// <20><><EFBFBD>ѳ<EFBFBD><D1B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δͳһ<CDB3><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>UCI<43><49><EFBFBD>ڲ<EFBFBD><DAB2>Զ<EFBFBD>ƥ<EFBFBD><C6A5>ΪUCIЭ<49><D0AD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><C3B5><EFBFBD><EFBFBD>֣<EFBFBD>
|
|||
|
|
u_tchar Name[50];
|
|||
|
|
//@brief : <20>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>
|
|||
|
|
//@remarks : <20>ź<EFBFBD>Դ = SG, ʾ<><CABE><EFBFBD><EFBFBD> = DSO;
|
|||
|
|
u_tchar DevType[10];
|
|||
|
|
//@brief : LAN<41>ڲ<EFBFBD><DAB2><EFBFBD>
|
|||
|
|
LANDescriptor LAN;
|
|||
|
|
//@brief : USB<53>ӿڲ<D3BF><DAB2><EFBFBD>
|
|||
|
|
USBDescriptor USB;
|
|||
|
|
//@brief : <20><><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
|
|||
|
|
u_tchar UCIAddr[256];
|
|||
|
|
//@brief : <20><><EFBFBD>к<EFBFBD>
|
|||
|
|
u_tchar SN[50];
|
|||
|
|
//@brief : <20>豸״̬
|
|||
|
|
u_status Status;
|
|||
|
|
//@brief : <20>豸ʵ<E8B1B8><CAB5><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|||
|
|
u_tchar IDN[20];
|
|||
|
|
}Node, *PNode;
|
|||
|
|
|
|||
|
|
|
|||
|
|
//@brief : <20><>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD>ڵ<EFBFBD><DAB5>IJ<EFBFBD><C4B2><EFBFBD>
|
|||
|
|
//@remarks :
|
|||
|
|
typedef struct _NodeEx {
|
|||
|
|
//@brief : ͨ<>Žӿڷ<D3BF>ʽ
|
|||
|
|
NodeType Type;
|
|||
|
|
//@brief : <20>豸<EFBFBD><E8B1B8>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
|||
|
|
//@remarks : <20>ڱ<EFBFBD>UCI<43><EFBFBD><E2B5BC>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΪUCI<43><49>Э<EFBFBD><D0AD>һ<EFBFBD>µ<EFBFBD><C2B5><EFBFBD><EFBFBD>ơ<EFBFBD>
|
|||
|
|
u_tchar Name[50];
|
|||
|
|
//@brief : <20>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>
|
|||
|
|
//@remarks : <20>ź<EFBFBD>Դ = SG, ʾ<><CABE><EFBFBD><EFBFBD> = DSO;
|
|||
|
|
u_tchar DevType[10];
|
|||
|
|
//@brief : LAN<41>ڲ<EFBFBD><DAB2><EFBFBD>
|
|||
|
|
LANDescriptor LAN;
|
|||
|
|
//@brief : USB<53>ӿڲ<D3BF><DAB2><EFBFBD>
|
|||
|
|
USBDescriptor USB;
|
|||
|
|
//@brief : <20><><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
|
|||
|
|
u_tchar UCIAddr[256];
|
|||
|
|
//@brief : <20><><EFBFBD>к<EFBFBD>
|
|||
|
|
u_tchar SN[50];
|
|||
|
|
//@brief : <20>豸״̬
|
|||
|
|
u_status Status;
|
|||
|
|
//@brief : <20>豸ʵ<E8B1B8><CAB5><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|||
|
|
u_tchar IDN[20];
|
|||
|
|
}NodeEx, *PNodeEx;
|
|||
|
|
|
|||
|
|
typedef struct _UCIMSG {
|
|||
|
|
u_session Session;
|
|||
|
|
u_uint32 Message;
|
|||
|
|
u_wparam wParams;
|
|||
|
|
u_lparam lParams;
|
|||
|
|
u_byte Reserved[240];
|
|||
|
|
}UCIMSG;//256Bytes
|
|||
|
|
|
|||
|
|
//////////////////////////////////////////////////////////////////////////
|
|||
|
|
typedef enum _uci_msg {
|
|||
|
|
UMSG_CONNECT_CLOSED = 1,
|
|||
|
|
//@brief : <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
//@remarks :
|
|||
|
|
// wParams <20><>֡<EFBFBD><D6A1><EFBFBD><EFBFBD>
|
|||
|
|
// lParams ֡<><D6A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD> -1 <20><> <20><>ʼ<EFBFBD><CABC><EFBFBD>䣻 [0,wParams)<29><><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD> <20><><EFBFBD><EFBFBD>wParams<6D><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
//-> UCIMSGProc return -1 <20><> <20><>ʾ<EFBFBD>жϴ<D0B6><CFB4><EFBFBD>.
|
|||
|
|
UMSG_FILE_TRANSFER = 2,
|
|||
|
|
//@brief : USB<53><42><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
//@remarks :
|
|||
|
|
// wParams : ʹ<>õ<EFBFBD>16λ<36><CEBB><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><D0A3><EFBFBD>8λΪpid<69><64><EFBFBD><EFBFBD>8λΪvid<69><64>
|
|||
|
|
// lParams : <20>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>ͣ<EFBFBD> <20>Ƴ<EFBFBD> = 0<><30> <20><><EFBFBD><EFBFBD> = 1<><31>
|
|||
|
|
UMSG_DEVICE_NOTIFY = 3,
|
|||
|
|
}EUCIMSG;
|
|||
|
|
|
|||
|
|
typedef int(__stdcall *UCIMSGProc)(UCIMSG* _msg);
|
|||
|
|
#include <poppack.h>
|
|||
|
|
|
|||
|
|
#ifdef __cplusplus
|
|||
|
|
}
|
|||
|
|
#endif//__cplusplus
|
|||
|
|
|
|||
|
|
#ifdef __cplusplus
|
|||
|
|
}
|
|||
|
|
#endif // __cplusplus
|
|||
|
|
|
|||
|
|
#endif // ucidef_h__
|