📄 comservice.h
字号:
// ***************************************************************
// ComService version: 1.0
// -------------------------------------------------------------
// File Name: ComService.h
// Created: 2007/07/18
// Modified: 2007/07/18 15:08
// Author: William.Liang
// Msn: lwq49@msn.com
// Email: lwq49@21cn.com, lwq49@msn.com
// Description:ComService组件是一些独立工具的集合,负责为框架
// 提供功能支持。目前,只有XML分析器,日后会扩展其
// 它的工具,如:加密、网站游览、HTML文件游览等。
//
// Purpose:
// -------------------------------------------------------------
// license:
//
// The contents of this file are subject to the Mozilla Public
// License Version 1.1 (the "License"); you may not use this file
// except in compliance with the License. You may obtain a copy
// of the License at http://www.mozilla.org/MPL/ Software dis-
// tributed under the License is distributed on an "AS IS"
// basis, WITHOUT WARRANTY OF ANY KIND, either express or im-
// plied. See the License for the specific language governing
// rights and limitations under the License.
//
// The Initial Developer of the Original Code is William.Liang .
// Copyright (C) 2007 - All Rights Reserved.
// ***************************************************************
#ifndef COM_SERVICE_HEAD_FILE
#define COM_SERVICE_HEAD_FILE
//////////////////////////////////////////////////////////////////////////
//平台头文件
#include "..\Common\Common.h"
//////////////////////////////////////////////////////////////////////////
//公共宏定义
//导出定义
#ifndef COM_SERVICE_CLASS
#ifdef COM_SERVICE_DLL
#define COM_SERVICE_CLASS _declspec(dllexport)
#else
#define COM_SERVICE_CLASS _declspec(dllimport)
#endif
#endif
//模块定义
#ifdef _DEBUG
#define COM_SERVICE_DLL_NAME TEXT("ComServiceD.dll") //组件 DLL 名字
#else
#define COM_SERVICE_DLL_NAME TEXT("ComService.dll") //组件 DLL 名字
#endif
//网络数据定义
#define SOCKET_VER 3 //数据包版本
#define SOCKET_PACKAGE 4080 //最大网络包
#define SOCKET_BUFFER (sizeof(CMD_Head)+SOCKET_PACKAGE+2*sizeof(DWORD))
//内核命令码
#define MDM_KN_COMMAND 0 //内核命令
#define SUB_KN_DETECT_SOCKET 1 //检测命令
//检测结构信息
struct CMD_KN_DetectSocket
{
DWORD dwSendTickCount; //发送时间
DWORD dwRecvTickCount; //接收时间
};
//数据包结构信息
struct CMD_Info
{
WORD wDataSize; //数据大小
BYTE cbCheckCode; //效验字段
BYTE cbMessageVer; //版本标识
};
//数据包命令信息
struct CMD_Command
{
WORD wMainCmdID; //主命令码
WORD wSubCmdID; //子命令码
};
//数据包传递包头
struct CMD_Head
{
CMD_Info CmdInfo; //基础结构
CMD_Command CommandInfo; //命令信息
};
//网络数据包缓冲
struct CMD_Buffer
{
CMD_Head Head; //数据包头
BYTE cbBuffer[SOCKET_PACKAGE]; //数据缓冲
};
//////////////////////////////////////////////////////////////////////////
//数据队列头
struct tagDataHead
{
WORD wDataSize; //数据大小
WORD wIdentifier; //类型标识
DWORD dwInsertTime; //插入时间
};
//负荷信息
struct tagBurthenInfo
{
DWORD dwDataSize; //数据大小
DWORD dwBufferSize; //缓冲区长度
DWORD dwDataPacketCount; //数据包数目
};
//////////////////////////////////////////////////////////////////////////
//公共宏定义
//
////代理类型
//#define PROXY_NONE 0 //没有代理
//#define PROXY_SOCKS4 1 //SOCKS4 代理
//#define PROXY_SOCKS5 2 //SOCKS5 代理
//#define PROXY_HTTP 3 //HTTP 代理
//
////////////////////////////////////////////////////////////////////////////
//
////////////////////////////////////////////////////////////////////////////
////枚举定义
//
////连接状态定义
//enum enSocketState
//{
// SocketState_NoConnect, //没有连接
// SocketState_Connecting, //正在连接
// SocketState_Connected, //成功连接
//};
//
////////////////////////////////////////////////////////////////////////////
////结构定义
//
////代理信息结构
//struct tagProxyInfo
//{
// BYTE cbProxyType; //代理类型
// WORD wProxyPort; //代理端口
// CString strProxyName; //代理用户名
// CString strProxyPass; //代理密码
// CString strProxyServer; //代理地址
// CString strHttpDomain; //代理域名
//};
//
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
//
////网络数据定义
//#define SOCKET_VER 3 //数据包版本
//#define SOCKET_PACKAGE 4080 //最大网络包
//#define SOCKET_BUFFER (sizeof(CMD_Head)+SOCKET_PACKAGE+2*sizeof(DWORD))
//
////事件标识
//#define EVENT_CONTROL 0x0001 //控制消息
//#define EVENT_TIMER 0x0002 //定时器引擎
//#define EVENT_ACTION 0x0007 //动作引擎
//#define EVENT_DATABASE 0x0003 //数据库请求
//#define EVENT_SOCKET_ACCEPT 0x0004 //网络应答
//#define EVENT_SOCKET_READ 0x0005 //网络读取
//#define EVENT_SOCKET_CLOSE 0x0006 //网络关闭
//
////数据包结构信息
//struct CMD_Info
//{
// WORD wDataSize; //数据大小
// BYTE cbCheckCode; //效验字段
// BYTE cbMessageVer; //版本标识
//};
//
////数据包命令信息
//struct CMD_Command
//{
// WORD wMainCmdID; //主命令码
// WORD wSubCmdID; //子命令码
//};
//
////数据包传递包头
//struct CMD_Head
//{
// CMD_Info CmdInfo; //基础结构
// CMD_Command CommandInfo; //命令信息
//};
//
////网络数据包缓冲
//struct CMD_Buffer
//{
// CMD_Head Head; //数据包头
// BYTE cbBuffer[SOCKET_PACKAGE]; //数据缓冲
//};
//
////内核命令码
//#define MDM_KN_COMMAND 0 //内核命令
//#define SUB_KN_DETECT_SOCKET 1 //检测命令
//
////检测结构信息
//struct CMD_KN_DetectSocket
//{
// DWORD dwSendTickCount; //发送时间
// DWORD dwRecvTickCount; //接收时间
//};
//
////////////////////////////////////////////////////////////////////////////
//
//#define VER_IClientSocket INTERFACE_VERSION(1,1)
//static const GUID IID_IClientSocket={0x8b0e3918,0x5139,0x48da,0xbf,0x40,0xba,0x95,0xad,0xce,0x59,0x64};
//
////网络组件接口
//interface IClientSocket : public IUnknownEx
//{
// //取消代理
// virtual void __cdecl CancelProxyServer()=NULL;
// //代理服务器
// virtual void __cdecl SetProxyServer(tagProxyInfo & ProxyInfo)=NULL;
// //设置接口
// virtual bool __cdecl SetSocketSink(IUnknownEx * pIUnknownEx)=NULL;
// //获取接口
// virtual void * __cdecl GetSocketSink(const IID & Guid, DWORD dwQueryVer)=NULL;
// //获取发送间隔
// virtual DWORD __cdecl GetLastSendTick()=NULL;
// //获取接收间隔
// virtual DWORD __cdecl GetLastRecvTick()=NULL;
// //获取发送数目
// virtual DWORD __cdecl GetSendPacketCount()=NULL;
// //获取接收数目
// virtual DWORD __cdecl GetRecvPacketCount()=NULL;
// //获取状态
// virtual enSocketState __cdecl GetConnectState()=NULL;
// //连接服务器
// virtual bool __cdecl Connect(DWORD dwServerIP, WORD wPort)=NULL;
// //连接服务器
// virtual bool __cdecl Connect(const LPCTSTR szServerIP, WORD wPort)=NULL;
// //发送函数
// virtual bool __cdecl SendData(WORD wMainCmdID, WORD wSubCmdID)=NULL;
// //发送函数
// virtual bool __cdecl SendData(WORD wMainCmdID, WORD wSubCmdID, void * pData, WORD wDataSize)=NULL;
// //关闭连接
// virtual bool __cdecl CloseSocket(bool bNotify)=NULL;
//};
//
////////////////////////////////////////////////////////////////////////////
//
//#define VER_IClientSocketSink INTERFACE_VERSION(1,1)
//static const GUID IID_IClientSocketSink={0x55fcf8aa,0x526a,0x44c2,0x9a,0xd1,0x4,0xe,0x7,0xd6,0x8a,0x2a};
//
////网络钩子接口
//interface IClientSocketSink : public IUnknownEx
//{
// //网络连接消息
// virtual bool __cdecl OnSocketConnect(int iErrorCode, LPCTSTR pszErrorDesc, IClientSocket * pIClientSocke)=NULL;
// //网络读取消息
// virtual bool __cdecl OnSocketRead(CMD_Command Command, void * pBuffer, WORD wDataSize, IClientSocket * pIClientSocke)=NULL;
// //网络关闭消息
// virtual bool __cdecl OnSocketClose(IClientSocket * pIClientSocke, bool bCloseByServer)=NULL;
//};
//////////////////////////////////////////////////////////////////////////
#ifndef COM_SERVICE_DLL
//导出类头文件
#include "Encrypt.h"
//#include "WebBrowser.h"
//#include "HtmlBrowser.h"
//#include "WinFileInfo.h"
#include "DataStorage.h"
#include "ServiceThread.h"
//#include "ClientSocket.h"
//#include "XMLParser.h"
#endif
//////////////////////////////////////////////////////////////////////////
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -