/******************************************************************
++ file name : ffmclass.h 【程序编程相关:VC数字图像处理编程讲座之四】 【推荐阅读:FedoraCore2正式版使用问题解决】 ++ description: 共享內存類 【扩展信息:VC数字图像处理编程讲座之五】 --------------------------------------------------------------- ++ author: fei zhaodong ++ create time: 2004/3/25 上午 10:00:00 ++ version: 1.1 ++ modifier: ++ activities: ++ update list: 2004/3/30 下午 02:59:45 *******************************************************************/// ffmclass.h: interface for the cffmclass.
// //////////////////////////////////////////////////////////////////////#ifndef fzd_ffmclass_h
#define fzd_ffmclass_h#include <aclapi.h>
//////////////////////////////////////////////////////////////////////
// macro definition// 以下為共享內存定義
#define default_filename null // 默認的文件名
#define default_mapname "_fzd_map_" // 默認的共享內存名 #define default_mapsize (0xffff + 1) // 默認的共享內存大小const dword netrguser_cfm_code = 0x1211dbff; // 校驗碼, 用於命令數據
const dword netrguser_cmd_none = 0; // 初始化指令碼, 無指令// 以下為錯誤碼定義
#define error_len 256 // 錯誤描述長度
#define error_invalid_cmdcode 0xe00001ff // 已經存在完全一樣的共享內存
#define error_no_mapfile 0xe00002ff // 未分配共享內存文件 #define error_invalid_cfmcode 0xe00003ff // 校驗碼不匹配//////////////////////////////////////////////////////////////////////
// 內存文件格式定義#pragma pack(1)
// 用於存儲命令數據的內存文件格式
typedef struct _tagdata_header { dword dwconfirmcode; // 校驗碼 dword ncommandcode; // 指令識別碼 dword dwdatasize; // 數據的大小byte dwreserved[19]; // 保留
byte binfo[1]; // 數據起始地址_tagdata_header()
{ dwconfirmcode = netrguser_cfm_code; ncommandcode = netrguser_cmd_none; dwdatasize = 0;zeromemory(dwreserved, 19);
zeromemory(binfo, 1); } }data_header, *lpdata_header;typedef dword (winapi *psetentriesinacl)(ulong, pexplicit_access, pacl, pacl*);
// 用於存儲應答數據的共享內存文件格式 (暫不用)
typedef struct _tagans_header { }ans_header, *lpans_header;#pragma pack()
//////////////////////////////////////////////////////////////////////
// 類定義,共享內存服務端 class cffmserver { public: cffmserver(); virtual ~cffmserver(); cffmserver(char *szfilename, char *szmapname, dword dwsize);protected:
... 下一页