该文件是这个软件的一个基本文件,其实主要就是定义了一个结构体,GS( Global Structure )。这个结构体我们在前面的文章中单独说过。现在还是把它拿出来再说说吧。
typedef struct GS {
// Application Common Base //
WORD nSize; // The Size of this Structure (bytes)
// An Easy way to detect the version
// of the Global Structure.
VARS gv; // Variables
FCT fct; // Functions
API api; // APIs
STR str; // Strings
LOG *Log; // Logging Stuff.
// End Common Base //
SRV *srv; // Server Context.
CLI *cli; // Client Context.
CFG *cfg; // Configuration Tool Context.
DWORD dwRes; // Nothing yet, just to have 4 byte here :).
} GS;
- 该文件还包含了一些其他结构体,比如LOG结构体,
- 还有软件所使用的API函数的一个索引,这样加载这些API函数比较容易,
- 还有软件使用的一些基本类
OBJ_LZH = 0x01, // LZH Compresion Engine.
OBJ_ENCHANDLER, // Encryption Handler
OBJ_ENCENG, // Encryption Engine
OBJ_IOHANDLER, // IO Handler
OBJ_IOENG, // IO Socket Engine
OBJ_AUTHHANDLER, // Auth Handler
OBJ_AUTHSCK, // Authenticated Socket - 还有一些基本的常数
#define BOAPI __stdcall // BO Api Decoration
#define MAX_PLUGS 96 // Max Number of Plug-ins in the Info Table.
#define MAX_VARS 512 // Max Number of Config Vars.
#define MAX_THREADS 128 // Max Number of Custom Threads running.
#define MAX_LANGS 32 // Max Number of Languages infos.
从上面的说明我们可以知道,这个文件都是一些基本信息,使用的函数,使用的API,使用的变量,使用的字符串这些在整个软件中都会使用到。通过这个结构体构建了一个基本的功能框架。