?? 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 + =
減小字號