随笔 - 45  文章 - 129  trackbacks - 0
<2011年12月>
27282930123
45678910
11121314151617
18192021222324
25262728293031
1234567

专注于C++ P2P STL GP OpenSource等
Google

常用链接

留言簿(10)

随笔分类

随笔档案

相册

朋友

搜索

  •  

最新评论

阅读排行榜

评论排行榜

" ^\d+$ "    // 非负整数(正整数 + 0) 
" ^[0-9]*[1-9][0-9]*$ "    // 正整数 
" ^((-\d+)|(0+))$ "    // 非正整数(负整数 + 0) 
" ^-[0-9]*[1-9][0-9]*$ "    // 负整数 
" ^-?\d+$ "      // 整数 
" ^\d+(\.\d+)?$ "    // 非负浮点数(正浮点数 + 0) 
" ^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$ "    // 正浮点数 
" ^((-\d+(\.\d+)?)|(0+(\.0+)?))$ "    // 非正浮点数(负浮点数 + 0) 
" ^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$ "    // 负浮点数 
" ^(-?\d+)(\.\d+)?$ "    // 浮点数 
" ^[A-Za-z]+$ "    // 由26个英文字母组成的字符串 
" ^[A-Z]+$ "    // 由26个英文字母的大写组成的字符串 
" ^[a-z]+$ "    // 由26个英文字母的小写组成的字符串 
" ^[A-Za-z0-9]+$ "    // 由数字和26个英文字母组成的字符串 
" ^\w+$ "    // 由数字、26个英文字母或者下划线组成的字符串 
" ^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$ "      // email地址 
" ^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$ "    // url
/^ (d { 2 } | d { 4 } ) - (( 0 ([ 1 - 9 ] { 1 } )) | ( 1 [ 1 | 2 ])) - (([ 0 - 2 ]([ 1 - 9 ] { 1 } )) | ( 3 [ 0 | 1 ]))$ /     //   年-月-日
/^ (( 0 ([ 1 - 9 ] { 1 } )) | ( 1 [ 1 | 2 ])) / (([ 0 - 2 ]([ 1 - 9 ] { 1 } )) | ( 3 [ 0 | 1 ])) / (d { 2 } | d { 4 } )$ /     //  月/日/年
" ^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$ "     // Emil
" (d+-)?(d{4}-?d{7}|d{3}-?d{8}|^d{7,8})(-d+)? "       // 电话号码
" ^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])$ "     // IP地址

 

匹配中文字符的正则表达式: [\u4e00-\u9fa5]
匹配双字节字符(包括汉字在内):[^\x00-\xff]
匹配空行的正则表达式:\n[\s| ]*\r
匹配HTML标记的正则表达式:/<(.*)>.*<\/\1>|<(.*) \/>/
匹配首尾空格的正则表达式:(^\s*)|(\s*$)
匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
匹配网址URL的正则表达式:^[a-zA-z]+://(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\S*)?$
匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
匹配国内电话号码:(\d{3}-|\d{4}-)?(\d{8}|\d{7})?
匹配腾讯QQ号:^[1-9]*[1-9][0-9]*$

下表是元字符及其在正则表达式上下文中的行为的一个完整列表:

\ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个后向引用、或一个八进制转义符。

^ 匹配输入字符串的开始位置。如果设置了 RegExp 对象的Multiline 属性,^ 也匹配 ’\n’ 或 ’\r’ 之后的位置。

$ 匹配输入字符串的结束位置。如果设置了 RegExp 对象的Multiline 属性,$ 也匹配 ’\n’ 或 ’\r’ 之前的位置。

* 匹配前面的子表达式零次或多次。

+ 匹配前面的子表达式一次或多次。+ 等价于 {1,}。

? 匹配前面的子表达式零次或一次。? 等价于 {0,1}。

{n} n 是一个非负整数,匹配确定的n 次。

{n,} n 是一个非负整数,至少匹配n 次。

{n,m} m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。在逗号和两个数之间不能有空格。

? 当该字符紧跟在任何一个其他限制符 (*, +, ?, {n}, {n,}, {n,m}) 后面时,匹配模式是非贪婪的。非贪婪模式尽可能少的匹配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜索的字符串。

. 匹配除 "\n" 之外的任何单个字符。要匹配包括 ’\n’ 在内的任何字符,请使用象 ’[.\n]’ 的模式。
(pattern) 匹配pattern 并获取这一匹配。

(?:pattern) 匹配pattern 但不获取匹配结果,也就是说这是一个非获取匹配,不进行存储供以后使用。

(?=pattern) 正向预查,在任何匹配 pattern 的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。

(?!pattern) 负向预查,与(?=pattern)作用相反

x|y 匹配 x 或 y。

[xyz] 字符集合。

[^xyz] 负值字符集合。

[a-z] 字符范围,匹配指定范围内的任意字符。

[^a-z] 负值字符范围,匹配任何不在指定范围内的任意字符。

\b 匹配一个单词边界,也就是指单词和空格间的位置。

\B 匹配非单词边界。

\cx 匹配由x指明的控制字符。

\d 匹配一个数字字符。等价于 [0-9]。

\D 匹配一个非数字字符。等价于 [^0-9]。

\f 匹配一个换页符。等价于 \x0c 和 \cL。

\n 匹配一个换行符。等价于 \x0a 和 \cJ。

\r 匹配一个回车符。等价于 \x0d 和 \cM。

\s 匹配任何空白字符,包括空格、制表符、换页符等等。等价于[ \f\n\r\t\v]。

\S 匹配任何非空白字符。等价于 [^ \f\n\r\t\v]。

\t 匹配一个制表符。等价于 \x09 和 \cI。

\v 匹配一个垂直制表符。等价于 \x0b 和 \cK。

\w 匹配包括下划线的任何单词字符。等价于’[A-Za-z0-9_]’。

\W 匹配任何非单词字符。等价于 ’[^A-Za-z0-9_]’。

\xn 匹配 n,其中 n 为十六进制转义值。十六进制转义值必须为确定的两个数字长。

\num 匹配 num,其中num是一个正整数。对所获取的匹配的引用。

\n 标识一个八进制转义值或一个后向引用。如果 \n 之前至少 n 个获取的子表达式,则 n 为后向引用。否则,如果 n 为八进制数字 (0-7),则 n 为一个八进制转义值。

\nm 标识一个八进制转义值或一个后向引用。如果 \nm 之前至少有is preceded by at least nm 个获取得子表达式,则 nm 为后向引用。如果 \nm 之前至少有 n 个获取,则 n 为一个后跟文字 m 的后向引用。如果前面的条件都不满足,若 n 和 m 均为八进制数字 (0-7),则 \nm 将匹配八进制转义值 nm。

\nml 如果 n 为八进制数字 (0-3),且 m 和 l 均为八进制数字 (0-7),则匹配八进制转义值 nml。

\un 匹配 n,其中 n 是一个用四个十六进制数字表示的Unicode字符。

匹配中文字符的正则表达式: [u4e00-u9fa5]

匹配双字节字符(包括汉字在内):[^x00-xff]

应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)

String.prototype.len=function(){return this.replace([^x00-xff]/g,"aa").length;}

匹配空行的正则表达式:n[s| ]*r

匹配HTML标记的正则表达式:/<(.*)>.*</1>|<(.*) />/

匹配首尾空格的正则表达式:(^s*)|(s*$)

应用:javascript中没有像vbscript那样的trim函数,我们就可以利用这个表达式来实现,如下:

String.prototype.trim = function()
{
return this.replace(/(^s*)|(s*$)/g, "");
}

利用正则表达式分解和转换IP地址:

下面是利用正则表达式匹配IP地址,并将IP地址转换成对应数值的Javascript程序:

function IP2V(ip)
{
re=/(d+).(d+).(d+).(d+)/g //匹配IP地址的正则表达式
if(re.test(ip))
{
return RegExp.$1*Math.pow(255,3))+RegExp.$2*Math.pow(255,2))+RegExp.$3*255+RegExp.$4*1
}
else
{
throw new Error("Not a valid IP address!")
}
}

不过上面的程序如果不用正则表达式,而直接用split函数来分解可能更简单,程序如下:

var ip="10.100.20.168"
ip=ip.split(".")
alert("IP值是:"+(ip[0]*255*255*255+ip[1]*255*255+ip[2]*255+ip[3]*1))

匹配Email地址的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*

匹配网址URL的正则表达式:http://([w-]+.)+[w-]+(/[w- ./?%&=]*)?

利用正则表达式去除字串中重复的字符的算法程序:

var s="abacabefgeeii"
var s1=s.replace(/(.).*1/g,"$1")
var re=new RegExp("["+s1+"]","g")
var s2=s.replace(re,"")
alert(s1+s2) //结果为:abcefgi

我原来在CSDN上发贴寻求一个表达式来实现去除重复字符的方法,最终没有找到,这是我能想到的最简单的实现方法。思路是使用后向引用取出包括重复的字符,再以重复的字符建立第二个表达式,取到不重复的字符,两者串连。这个方法对于字符顺序有要求的字符串可能不适用。

得用正则表达式从URL地址中提取文件名的javascript程序,如下结果为page1

s="http://www.9499.net/page1.htm"
s=s.replace(/(.*/){0,}([^.]+).*/ig,"$2")
alert(s)

利用正则表达式限制网页表单里的文本框输入内容:

用正则表达式限制只能输入中文:onkeyup="value=value.replace(/[^u4E00-u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^u4E00-u9FA5]/g,''))"

用正则表达式限制只能输入全角字符: onkeyup="value=value.replace(/[^uFF00-uFFFF]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^uFF00-uFFFF]/g,''))"

用正则表达式限制只能输入数字:onkeyup="value=value.replace(/[^d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^d]/g,''))"

用正则表达式限制只能输入数字和英文:onkeyup="value=value.replace(/[W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^d]/g,''))"

posted @ 2006-12-19 14:21 CPP&&设计模式小屋 阅读(1382) | 评论 (0)编辑 收藏
2007年CCTV春节联欢晚会节目单!!!

序曲 舞春风 八一歌舞团 吉林歌舞团 中国民族歌舞团
解放军空军部文艺团 河南嵩山武术学校 甘肃杂技团
主持人致新年贺词: 毕福剑 倪萍 亚宁 管彤 张政 施忆
01 开场歌舞 欢乐中国年年红 羽泉 TWINS(中国香港)许慧欣(中国台湾)韩静(中国澳门)
02群口相声 七天拜大年 姜昆 李文华 戴志诚 汪洋 石富宽 张大礼 武宾
03歌舞 红对联 张燕 刘宾
04小品 迎财神 潘长江 闫学晶 黄晓娟 句号 柏青
05杂技舞蹈 龙腾虎跃 济南杂技团
06歌组合 小神仙和小仙女+月亮街+中华传统美德故事+我们的家园
07化装相声 令人毛骨悚然的冷笑 冯巩 刘金山 林永健
08舞蹈组合 朝鲜舞+新疆舞+傣族舞+彝族舞+蒙古舞+佤族舞
助演:女子十二乐坊 芳华十八组合
09魔术 第二天堂 李宁 林俊杰
10小品 药店 黄宏 刘亦菲 巩汉林
11舞蹈 我的梦 中国残疾人艺术团
12相声 送礼 王敏 陈寒柏
13互动节目 请您参与 省市16家电视台共同直播
深入到家征集型节目
14歌舞 新气象 李沁东 毛一丞
15小品 彩迷 郭冬林 郭达 蔡明
16歌舞 海纳百川 廖昌永 梦 鸽 罗宁娜 杨九红
17杂技 绸 武汉杂技团
18相声 猪年说猪 刘惠 李嘉存
19歌舞 美人吟 彭丽媛
20戏曲 七仙女拜年 刘桂娟 赵秀君 李 洁 李佩虹 于魁智
杨春霞 赵葆秀 孟广禄 耿巧云 管 波
21小品 新面子 赵本山 宋丹丹 范伟
22互动节目 春晚剧组到我家 省市16家电视台
23歌组合 四季奏鸣曲 春 桃花朵朵开 阿牛 + 夏 宁夏 梁静茹 +秋 秋天不回来 王强 + 冬 发如雪 周杰伦
24小品 老爹老娘 孙涛 韩雪 魏积安
25歌舞 世上最美的女人是妈妈 s**
26音乐剧 守望奥运 刘翔 杜丽 罗雪娟 满文军 林依伦 满 江
27相声 新鲜事 牛群 大兵
28歌舞 家乡人 王宏伟 祖海
29歌舞 千面 阿朵
30零点仪式 全国大联欢 省市32家电视台
31歌组合 历届优秀春晚歌曲展
好运来 祖海+吉祥三宝+世纪春雨+欢聚一堂+变脸
32小品 武林新传 闫妮等
33歌舞 春夏秋冬又一年 演唱者:许波、胡瑶、刘海波、孙笑一、刘春梅、易秒英、哈辉、李辉、袁慧琴、刘桂娟、李佩红、李胜素;
34舞蹈 四小青蛙和四小天鹅
35歌舞 喜事闹??过大年??演唱者:红岩、火风、吕薇、梁音、阿洛、湘女、鲍蓉、邓春蓉
36结束曲《难忘今宵》演唱者:殷秀梅、郁钧剑
posted @ 2006-12-13 15:26 CPP&&设计模式小屋 阅读(1182) | 评论 (0)编辑 收藏

AUTH: whg(无花果)
MAIL: whg0001@163.com
SITE: http://www.cnasm.com

VISTA 内核服务函数列表,数量=0x18E(比NT多150个系统服务函数)
WIN2K3/sp1 内核服务函数列表,数量=0x127(比NT多47个系统服务函数)
winxp/sp2 内核服务函数列表,数量=0x11C(比NT多36个系统服务函数)
winnt/sp4 内核服务函数列表,数量=0x0F8


VISTA 内核服务函数列表,数量=18E
(此表由创建于CNASM内部系统分析工具3.0)

编号  地址     名字(参数个数)

000=806F916A:ZwAcceptConnectPort(06)
001=8050BF4F:ZwAccessCheck(08)
002=806C22BD:ZwAccessCheckAndAuditAlarm(0B)
003=804FC7EF:ZwAccessCheckByType(0B)
004=806FC1EE:ZwAccessCheckByTypeAndAuditAlarm(10)
005=805A755A:ZwAccessCheckByTypeResultList(0B)
006=80754AE5:ZwAccessCheckByTypeResultListAndAuditAlarm(10)
007=80754B2E:ZwAccessCheckByTypeResultListAndAuditAlarmByHandle(11)
008=806EC1EE:ZwAddAtom(03)
009=8076A8AE:ZwAddBootEntry(02)
00A=8076BB52:ZwAddDriverEntry(02)
00B=8065A1D6:ZwAdjustGroupsToken(06)
00C=806CEAE0:ZwAdjustPrivilegesToken(06)
00D=80745CBB:ZwAlertResumeThread(02)
00E=80745C63:ZwAlertThread(01)
00F=80675E5F:ZwAllocateLocallyUniqueId(01)
010=807374F3:ZwAllocateUserPhysicalPages(03)
011=80683D62:ZwAllocateUuids(04)
012=806A1748:ZwAllocateVirtualMemory(06)
013=806BE30D:ZwAlpcAcceptConnectPort(09)
014=80649F47:ZwAlpcCancelMessage(03)
015=806BD3FA:ZwAlpcConnectPort(0B)
016=8067E7B7:ZwAlpcCreatePort(03)
017=80681EB3:ZwAlpcCreatePortSection(06)
018=8066CF5C:ZwAlpcCreateResourceReserve(04)
019=80681C83:ZwAlpcCreateSectionView(03)
01A=806F13E6:ZwAlpcCreateSecurityContext(03)
01B=8068204D:ZwAlpcDeletePortSection(03)
01C=807303B0:ZwAlpcDeleteResourceReserve(03)
01D=80669528:ZwAlpcDeleteSectionView(03)
01E=806FC50C:ZwAlpcDeleteSecurityContext(03)
01F=8066A340:ZwAlpcDisconnectPort(02)
020=806C2115:ZwAlpcImpersonateClientOfPort(03)
021=807319F4:ZwAlpcOpenSenderProcess(06)
022=80731FA5:ZwAlpcOpenSenderThread(06)
023=80680670:ZwAlpcQueryInformation(05)
024=806C1D9E:ZwAlpcQueryInformationMessage(06)
025=807304D0:ZwAlpcRevokeSecurityContext(03)
026=806BD62B:ZwAlpcSendWaitReceivePort(08)
027=80676164:ZwAlpcSetInformation(04)
028=806EB6F1:ZwApphelpCacheControl(02)
029=80639B60:ZwAreMappedFilesTheSame(02)
02A=806864B8:ZwAssignProcessToJobObject(02)
02B=8052EC4C:ZwCallbackReturn(03)
02C=80740445:ZwCancelDeviceWakeupRequest(01)
02D=8065C0D7:ZwCancelIoFile(02)
02E=804FC825:ZwCancelTimer(02)
02F=806FA8C4:ZwClearEvent(01)
030=806B49C8:ZwClose(01)
031=806FC113:ZwCloseObjectAuditAlarm(03)
032=807013EF:ZwCompactKeys(02)
033=806818A6:ZwCompareTokens(03)
034=806F91E7:ZwCompleteConnectPort(01)
035=80701679:ZwCompressKey(01)
036=806F913D:ZwConnectPort(08)
037=80521E28:ZwContinue(02)
038=80713026:ZwCreateDebugObject(04)
039=8063BD44:ZwCreateDirectoryObject(03)
03A=806DFD23:ZwCreateEvent(05)
03B=8076F22D:ZwCreateEventPair(03)
03C=806F07D5:ZwCreateFile(0B)
03D=806EAB47:ZwCreateIoCompletion(04)
03E=80688AE4:ZwCreateJobObject(03)
03F=807479DB:ZwCreateJobSet(03)
040=8067174A:ZwCreateKey(07)
041=806FF0EE:ZwCreateKeyTransacted(08)
042=8066D58B:ZwCreateMailslotFile(08)
043=806EE6C7:ZwCreateMutant(04)
044=806E4562:ZwCreateNamedPipeFile(0E)
045=8062E5B5:ZwCreatePrivateNamespace(04)
046=8061A905:ZwCreatePagingFile(04)
047=8063F197:ZwCreatePort(05)
048=80743BA4:ZwCreateProcess(08)
049=80743BEF:ZwCreateProcessEx(09)
04A=8076F8B7:ZwCreateProfile(09)
04B=806DB493:ZwCreateSection(07)
04C=806EAC4E:ZwCreateSemaphore(05)
04D=80643DFB:ZwCreateSymbolicLinkObject(04)
04E=807439E3:ZwCreateThread(08)
04F=806735C1:ZwCreateTimer(04)
050=8066C6C7:ZwCreateToken(0D)
051=80650684:ZwCreateTransaction(0A)
052=80619645:ZwOpenTransaction(05)
053=807576FA:ZwQueryInformationTransaction(05)
054=80619DFE:ZwQueryInformationTransactionManager(05)
055=8075827C:ZwPrePrepareEnlistment(02)
056=807581BB:ZwPrepareEnlistment(02)
057=8075833D:ZwCommitEnlistment(02)
058=807587D4:ZwReadOnlyEnlistment(02)
059=80758893:ZwRollbackComplete(02)
05A=807583FE:ZwRollbackEnlistment(02)
05B=80654BFE:ZwCommitTransaction(02)
05C=80757C10:ZwRollbackTransaction(02)
05D=80758580:ZwPrePrepareComplete(02)
05E=807584BF:ZwPrepareComplete(02)
05F=80758641:ZwCommitComplete(02)
060=80758715:ZwSinglePhaseReject(02)
061=80757C79:ZwSetInformationTransaction(04)
062=80759183:ZwSetInformationTransactionManager(04)
063=80758CA8:ZwSetInformationResourceManager(04)
064=80618C17:ZwCreateTransactionManager(06)
065=80758E49:ZwOpenTransactionManager(06)
066=807590B8:ZwRollforwardTransactionManager(02)
067=80757DDB:ZwRecoverEnlistment(02)
068=80619C40:ZwRecoverResourceManager(01)
069=806194A6:ZwRecoverTransactionManager(01)
06A=8064CE7F:ZwCreateResourceManager(07)
06B=8061C2C7:ZwOpenResourceManager(05)
06C=80758964:ZwGetNotificationResourceManager(07)
06D=80758A79:ZwQueryInformationResourceManager(05)
06E=80650B7D:ZwCreateEnlistment(08)
06F=8061C46C:ZwOpenEnlistment(05)
070=8075801E:ZwSetInformationEnlistment(04)
071=80757E37:ZwQueryInformationEnlistment(05)
072=807576E2:ZwStartTm(00)
073=8062EC94:ZwCreateWaitablePort(05)
074=80713DEC:ZwDebugActiveProcess(02)
075=80714444:ZwDebugContinue(03)
076=806FBB9F:ZwDelayExecution(02)
077=80682E51:ZwDeleteAtom(01)
078=8076A8DF:ZwDeleteBootEntry(01)
079=8076BB83:ZwDeleteDriverEntry(01)
07A=8063B3D5:ZwDeleteFile(01)
07B=8066FF07:ZwDeleteKey(01)
07C=8073C33B:ZwDeletePrivateNamespace(01)
07D=80754B85:ZwDeleteObjectAuditAlarm(03)
07E=806727F4:ZwDeleteValueKey(02)
07F=806F8B00:ZwDeviceIoControlFile(0A)
080=8061A244:ZwDisplayString(01)
081=806EAA00:ZwDuplicateObject(07)
082=806929B0:ZwDuplicateToken(06)
083=8076AAE0:ZwEnumerateBootEntries(02)
084=8076BD82:ZwEnumerateDriverEntries(02)
085=806C8DEC:ZwEnumerateKey(06)
086=8076A6AF:ZwEnumerateSystemEnvironmentValuesEx(03)
087=805A7AAB:ZwEnumerateTransactionObject(05)
088=806E4F6A:ZwEnumerateValueKey(06)
089=80734D53:ZwExtendSection(02)
08A=806741C5:ZwFilterToken(06)
08B=8067467C:ZwFindAtom(03)
08C=806E1B7F:ZwFlushBuffersFile(02)
08D=806810EC:ZwFlushInstructionCache(03)
08E=80643BE3:ZwFlushKey(01)
08F=804FA390:ZwFlushProcessWriteBuffers(00)
090=806DD24E:ZwFlushVirtualMemory(04)
091=807384F8:ZwFlushWriteBuffer(00)
092=80737C22:ZwFreeUserPhysicalPages(03)
093=8054F833:ZwFreeVirtualMemory(04)
094=8057BFC4:ZwFreezeRegistry(01)
095=805A7CB3:ZwFreezeTransactions(02)
096=80690B5D:ZwFsControlFile(0A)
097=806FD78A:ZwGetContextThread(02)
098=80740477:ZwGetDevicePowerState(02)
099=806600F1:ZwGetNlsSectionPtr(05)
09A=806790CC:ZwGetPlugPlayEvent(04)
09B=80595BA0:ZwGetWriteWatch(07)
09C=8068052D:ZwImpersonateAnonymousToken(01)
09D=806FAC56:ZwImpersonateClientOfPort(02)
09E=8068786C:ZwImpersonateThread(03)
09F=806F19D4:ZwInitializeNlsFiles(03)
0A0=8063B2D1:ZwInitializeRegistry(01)
0A1=80740250:ZwInitiatePowerAction(04)
0A2=806EBA10:ZwIsProcessInJob(02)
0A3=8074045B:ZwIsSystemResumeAutomatic(00)
0A4=8062E024:ZwListenPort(02)
0A5=8062DB81:ZwLoadDriver(01)
0A6=8064FEE1:ZwLoadKey(02)
0A7=806FFCB3:ZwLoadKey2(03)
0A8=8064F4E0:ZwLoadKeyEx(08)
0A9=806DE1AD:ZwLockFile(0A)
0AA=806621E3:ZwLockProductActivationKeys(02)
0AB=8060823D:ZwLockRegistryKey(01)
0AC=804EFE25:ZwLockVirtualMemory(04)
0AD=80644800:ZwMakePermanentObject(01)
0AE=80643B7E:ZwMakeTemporaryObject(01)
0AF=80736A1D:ZwMapUserPhysicalPages(03)
0B0=80736EDF:ZwMapUserPhysicalPagesScatter(03)
0B1=806E284C:ZwMapViewOfSection(0A)
0B2=8076AAAF:ZwModifyBootEntry(01)
0B3=8076BD53:ZwModifyDriverEntry(01)
0B4=80667AF9:ZwNotifyChangeDirectoryFile(09)
0B5=8069280F:ZwNotifyChangeKey(0A)
0B6=80691C84:ZwNotifyChangeMultipleKeys(0C)
0B7=806C231E:ZwOpenDirectoryObject(03)
0B8=806E51E4:ZwOpenEvent(03)
0B9=8076F363:ZwOpenEventPair(03)
0BA=806EFADB:ZwOpenFile(06)
0BB=8071CDC3:ZwOpenIoCompletion(03)
0BC=80747687:ZwOpenJobObject(03)
0BD=806FD826:ZwOpenKey(03)
0BE=806FF4EF:ZwOpenKeyTransacted(04)
0BF=8067F7D4:ZwOpenMutant(03)
0C0=8066118D:ZwOpenPrivateNamespace(04)
0C1=8066D9AB:ZwOpenObjectAuditAlarm(0C)
0C2=806C25EC:ZwOpenProcess(04)
0C3=806F8B33:ZwOpenProcessToken(03)
0C4=806F3C7A:ZwOpenProcessTokenEx(04)
0C5=806F2C6C:ZwOpenSection(03)
0C6=806896D5:ZwOpenSemaphore(03)
0C7=80624549:ZwOpenSession(03)
0C8=806E4648:ZwOpenSymbolicLinkObject(03)
0C9=806E268C:ZwOpenThread(04)
0CA=806C0A2D:ZwOpenThreadToken(04)
0CB=806AF2F0:ZwOpenThreadTokenEx(05)
0CC=8076EFDC:ZwOpenTimer(03)
0CD=8067FFC1:ZwPlugPlayControl(03)
0CE=806DFE47:ZwPowerInformation(05)
0CF=8066F689:ZwPrivilegeCheck(03)
0D0=8062EA76:ZwPrivilegeObjectAuditAlarm(06)
0D1=8066A406:ZwPrivilegedServiceAuditAlarm(05)
0D2=806E2035:ZwProtectVirtualMemory(05)
0D3=8062F68E:ZwPulseEvent(02)
0D4=806F77B5:ZwQueryAttributesFile(02)
0D5=8076AF91:ZwQueryBootEntryOrder(02)
0D6=8076B3ED:ZwQueryBootOptions(02)
0D7=80546C18:ZwQueryDebugFilterState(02)
0D8=806EA3C3:ZwQueryDefaultLocale(02)
0D9=8063C3D0:ZwQueryDefaultUILanguage(01)
0DA=806F1DB9:ZwQueryDirectoryFile(0B)
0DB=80687439:ZwQueryDirectoryObject(07)
0DC=8076B903:ZwQueryDriverEntryOrder(02)
0DD=806154CA:ZwQueryEaFile(09)
0DE=80670195:ZwQueryEvent(05)
0DF=806FBC44:ZwQueryFullAttributesFile(02)
0E0=8065F224:ZwQueryInformationAtom(05)
0E1=806CA188:ZwQueryInformationFile(05)
0E2=80642CFA:ZwQueryInformationJobObject(05)
0E3=8072D839:ZwQueryInformationPort(05)
0E4=806AFB39:ZwQueryInformationProcess(05)
0E5=806CC3FD:ZwQueryInformationThread(05)
0E6=806F4F20:ZwQueryInformationToken(05)
0E7=806EE2ED:ZwQueryInstallUILanguage(01)
0E8=8076FDAB:ZwQueryIntervalProfile(02)
0E9=8071CE9A:ZwQueryIoCompletion(05)
0EA=806CE69C:ZwQueryKey(05)
0EB=8070094D:ZwQueryMultipleValueKey(06)
0EC=8076F6B2:ZwQueryMutant(05)
0ED=806DEF4E:ZwQueryObject(05)
0EE=80700BA9:ZwQueryOpenSubKeys(02)
0EF=80700E2F:ZwQueryOpenSubKeysEx(04)
0F0=806BAD12:ZwQueryPerformanceCounter(02)
0F1=8071E57F:ZwQueryQuotaInformationFile(09)
0F2=8065F631:ZwQuerySection(05)
0F3=806EC0CD:ZwQuerySecurityObject(05)
0F4=80768E0C:ZwQuerySemaphore(05)
0F5=806E75B7:ZwQuerySymbolicLinkObject(03)
0F6=80769AD7:ZwQuerySystemEnvironmentValue(04)
0F7=8076A0E5:ZwQuerySystemEnvironmentValueEx(05)
0F8=806A5A70:ZwQuerySystemInformation(04)
0F9=806BE61E:ZwQuerySystemTime(01)
0FA=8076F0AF:ZwQueryTimer(05)
0FB=8068AE96:ZwQueryTimerResolution(03)
0FC=806EF018:ZwQueryValueKey(06)
0FD=806D1122:ZwQueryVirtualMemory(06)
0FE=806D1E9D:ZwQueryVolumeInformationFile(05)
0FF=80680479:ZwQueueApcThread(05)
100=80521E70:ZwRaiseException(03)
101=8065EB2B:ZwRaiseHardError(06)
102=806B8330:ZwReadFile(09)
103=80666B3B:ZwReadFileScatter(09)
104=806FB0F9:ZwReadRequestData(06)
105=806EAE97:ZwReadVirtualMemory(05)
106=8074537F:ZwRegisterThreadTerminatePort(01)
107=806E26D1:ZwReleaseMutant(02)
108=806FAA76:ZwReleaseSemaphore(03)
109=806C0A4E:ZwRemoveIoCompletion(05)
10A=80713F37:ZwRemoveProcessDebug(02)
10B=8070116F:ZwRenameKey(02)
10C=80700822:ZwReplaceKey(03)
10D=806C0EFA:ZwReplyPort(02)
10E=806B962E:ZwReplyWaitReceivePort(04)
10F=806B94DD:ZwReplyWaitReceivePortEx(05)
110=8072D9FF:ZwReplyWaitReplyPort(02)
111=80740445:ZwRequestDeviceWakeup(01)
112=80664BBB:ZwRequestPort(02)
113=806BFCC1:ZwRequestWaitReplyPort(03)
114=807401F3:ZwRequestWakeupLatency(01)
115=806EE88F:ZwResetEvent(02)
116=8059641F:ZwResetWriteWatch(03)
117=806FF7C7:ZwRestoreKey(03)
118=80745C05:ZwResumeProcess(01)
119=806E21CA:ZwResumeThread(02)
11A=806FF8E7:ZwSaveKey(02)
11B=806FF9EE:ZwSaveKeyEx(03)
11C=806FFB3B:ZwSaveMergedKeys(03)
11D=80758702:ZwClearSavepointTransaction(02)
11E=80740445:ZwClearAllSavepointsTransaction(01)
11F=80758702:ZwRollbackSavepointTransaction(02)
120=80757BF7:ZwSavepointTransaction(03)
121=80758702:ZwSavepointComplete(02)
122=806F8B53:ZwSecureConnectPort(09)
123=8076B1E0:ZwSetBootEntryOrder(02)
124=8076B6E2:ZwSetBootOptions(02)
125=80744D5F:ZwSetContextThread(02)
126=806052B0:ZwSetDebugFilterState(03)
127=80622B53:ZwSetDefaultHardErrorPort(01)
128=8063BF7E:ZwSetDefaultLocale(02)
129=8063CB25:ZwSetDefaultUILanguage(01)
12A=8076C193:ZwSetDriverEntryOrder(02)
12B=8071DFCA:ZwSetEaFile(04)
12C=806BC7D1:ZwSetEvent(02)
12D=80768AD3:ZwSetEventBoostPriority(01)
12E=8076F643:ZwSetHighEventPair(01)
12F=8076F575:ZwSetHighWaitLowEventPair(01)
130=807145A7:ZwSetInformationDebugObject(05)
131=806D7925:ZwSetInformationFile(05)
132=80687E53:ZwSetInformationJobObject(04)
133=807003BF:ZwSetInformationKey(04)
134=806D2379:ZwSetInformationObject(04)
135=806A981A:ZwSetInformationProcess(04)
136=806B774C:ZwSetInformationThread(04)
137=806F95E6:ZwSetInformationToken(04)
138=8076FD86:ZwSetIntervalProfile(02)
139=806D1960:ZwSetIoCompletion(05)
13A=8074733D:ZwSetLdtEntries(06)
13B=8076F5E0:ZwSetLowEventPair(01)
13C=8076F50A:ZwSetLowWaitHighEventPair(01)
13D=8071EBD1:ZwSetQuotaInformationFile(04)
13E=806870F9:ZwSetSecurityObject(03)
13F=80769DE3:ZwSetSystemEnvironmentValue(02)
140=8076A40B:ZwSetSystemEnvironmentValueEx(05)
141=806CF91F:ZwSetSystemInformation(03)
142=80795848:ZwSetSystemPowerState(03)
143=807656F9:ZwSetSystemTime(02)
144=806642FE:ZwSetThreadExecutionState(02)
145=8054C8BB:ZwSetTimer(07)
146=8065D538:ZwSetTimerResolution(03)
147=80625529:ZwSetUuidSeed(01)
148=8068B066:ZwSetValueKey(06)
149=8071EBEB:ZwSetVolumeInformationFile(05)
14A=80765661:ZwShutdownSystem(01)
14B=804F1872:ZwSignalAndWaitForSingleObject(04)
14C=8076FAF6:ZwStartProfile(01)
14D=8076FCC5:ZwStopProfile(01)
14E=80745BA7:ZwSuspendProcess(01)
14F=806FD6A6:ZwSuspendThread(02)
150=8076FE70:ZwSystemDebugControl(06)
151=8065FBA9:ZwTerminateJobObject(02)
152=80690B90:ZwTerminateProcess(02)
153=8068F89A:ZwTerminateThread(02)
154=806E1D94:ZwTestAlert(00)
155=8057C027:ZwThawRegistry(00)
156=805A7D9A:ZwThawTransactions(00)
157=80558C15:ZwTraceEvent(04)
158=806E9AF7:ZwTraceControl(06)
159=8076C39F:ZwTranslateFilePath(04)
15A=8071F695:ZwUnloadDriver(01)
15B=80658B3D:ZwUnloadKey(01)
15C=80658515:ZwUnloadKey2(02)
15D=806FFCF4:ZwUnloadKeyEx(02)
15E=806E4118:ZwUnlockFile(05)
15F=80501C6A:ZwUnlockVirtualMemory(04)
160=806E4702:ZwUnmapViewOfSection(02)
161=8075B92A:ZwVdmControl(02)
162=80714183:ZwWaitForDebugEvent(04)
163=806BA75B:ZwWaitForMultipleObjects(05)
164=806B6BD4:ZwWaitForSingleObject(03)
165=8076F4A1:ZwWaitHighEventPair(01)
166=8076F438:ZwWaitLowEventPair(01)
167=806D349A:ZwWriteFile(09)
168=806664F6:ZwWriteFileGather(09)
169=806EE969:ZwWriteRequestData(06)
16A=806CEFC2:ZwWriteVirtualMemory(05)
16B=804FFB10:ZwYieldExecution(00)
16C=80675BCB:ZwCreateKeyedEvent(04)
16D=80770269:ZwOpenKeyedEvent(03)
16E=806C859E:ZwReleaseKeyedEvent(04)
16F=806C8880:ZwWaitForKeyedEvent(04)
170=80744986:ZwQueryPortInformationProcess(00)
171=806FD817:ZwGetCurrentProcessorNumber(00)
172=8073B9BF:ZwWaitForMultipleObjects32(05)
173=80745EF0:ZwGetNextProcess(05) //想必是个好函数
174=8074615D:ZwGetNextThread(06)  //想必是个好函数

175=8071D021:ZwCancelIoFileEx(03)
176=8071D15E:ZwCancelSynchronousIoFile(03)
177=806EB38C:ZwRemoveIoCompletionEx(06)
178=805A8077:ZwRegisterProtocolAddressInformation(05)
179=805A8086:ZwPullTransaction(07)
17A=805A80AF:ZwMarshallTransaction(06)
17B=8057EB07:ZwPropagationComplete(04)
17C=805A809B:ZwPropagationFailed(03)
17D=80675EEB:ZwCreateWorkerFactory(0A)
17E=8054C43C:ZwReleaseWorkerFactoryWorker(01)
17F=8054C0D0:ZwWaitForWorkViaWorkerFactory(02)
180=804F6D60:ZwSetInformationWorkerFactory(04)
181=805AF4ED:ZwQueryInformationWorkerFactory(05)
182=80578126:ZwWorkerFactoryWorkerReady(01)
183=80644918:ZwShutdownWorkerFactory(02)
184=806DC1B9:ZwCreateThreadEx(0B)
185=806E8F2A:ZwCreateUserProcess(0B)
186=806ED0CB:ZwQueryLicenseValue(05)

187=806D8B2C:ZwMapCMFModule(06)
188=80757BF7:ZwListTransactions(03)
189=807712D3:ZwIsUILanguageComitted(00)
18A=807712F3:ZwFlushInstallUILanguage(02)
18B=80770EFF:ZwGetMUIRegistryInfo(03)
18C=8077039E:ZwAcquireCMFViewOwnership(03)
18D=80770567:ZwReleaseCMFViewOwnership


WIN2003 SP1 内核服务函数列表,数量=127(此表由创建于CNASM内部系统分析工具3.0)

000=8058FDCE:ZwAcceptConnectPort
001=80598B7E:ZwAccessCheck
002=805996CE:ZwAccessCheckAndAuditAlarm
003=805AABB7:ZwAccessCheckByType
004=8059B68A:ZwAccessCheckByTypeAndAuditAlarm
005=8065A705:ZwAccessCheckByTypeResultList
006=8065C9B2:ZwAccessCheckByTypeResultListAndAuditAlarm
007=8065C9F5:ZwAccessCheckByTypeResultListAndAuditAlarmByHandle
008=8059FC4F:ZwAddAtom
009=80669A5C:ZwAddBootEntry
00A=80669A5C:ZwAddDriverEntry
00B=8065A1E2:ZwAdjustGroupsToken
00C=80599836:ZwAdjustPrivilegesToken
00D=8065304B:ZwAlertResumeThread
00E=805991EA:ZwAlertThread
00F=8059B6CC:ZwAllocateLocallyUniqueId
010=80649EB9:ZwAllocateUserPhysicalPages
011=805A90DC:ZwAllocateUuids
012=80585188:ZwAllocateVirtualMemory
013=80591AFF:ZwApphelpCacheControl
014=805EB2FB:ZwAreMappedFilesTheSame
015=805ACE6F:ZwAssignProcessToJobObject
016=804EDBCC:ZwCallbackReturn
017=80669A4F:ZwCancelDeviceWakeupRequest
018=805ED49D:ZwCancelIoFile
019=804F9445:ZwCancelTimer
01A=8058E43A:ZwClearEvent
01B=805788AC:ZwClose
01C=80598EEA:ZwCloseObjectAuditAlarm
01D=80628F6F:ZwCompactKeys
01E=8065D8FF:ZwCompareTokens
01F=8058FC82:ZwCompleteConnectPort
020=806291D6:ZwCompressKey
021=8058E55A:ZwConnectPort
022=804ED14B:ZwContinue
023=805B2B1E:ZwCreateDebugObject
024=805ACBAF:ZwCreateDirectoryObject
025=8057A522:ZwCreateEvent
026=8066A009:ZwCreateEventPair
027=8057B0CB:ZwCreateFile
028=805A15AB:ZwCreateIoCompletion
029=805E29EB:ZwCreateJobObject
02A=80653805:ZwCreateJobSet
02B=80594A39:ZwCreateKey
02C=805F425D:ZwCreateMailslotFile
02D=805883A1:ZwCreateMutant
02E=80591416:ZwCreateNamedPipeFile
02F=805CAE1E:ZwCreatePagingFile
030=805A52A4:ZwCreatePort
031=805BF684:ZwCreateProcess
032=80590FE3:ZwCreateProcessEx
033=8066A5B7:ZwCreateProfile
034=80575ECA:ZwCreateSection
035=8059CFA9:ZwCreateSemaphore
036=805AD548:ZwCreateSymbolicLinkObject
037=8058A254:ZwCreateThread
038=805A4688:ZwCreateTimer
039=805A82A4:ZwCreateToken
03A=805BE212:ZwCreateWaitablePort
03B=805B32C1:ZwDebugActiveProcess
03C=805B37DC:ZwDebugContinue
03D=80576C08:ZwDelayExecution
03E=8059CB90:ZwDeleteAtom
03F=80669A4F:ZwDeleteBootEntry
040=80669A4F:ZwDeleteDriverEntry
041=805B9979:ZwDeleteFile
042=805EEA87:ZwDeleteKey
043=8065CA3A:ZwDeleteObjectAuditAlarm
044=805A40D4:ZwDeleteValueKey
045=80588F5E:ZwDeviceIoControlFile
046=805CBF0B:ZwDisplayString
047=8058251E:ZwDuplicateObject
048=8059EC7C:ZwDuplicateToken
049=80669A5C:ZwEnumerateBootEntries
04A=80669A5C:ZwEnumerateDriverEntries
04B=8059C085:ZwEnumerateKey
04C=80669A42:ZwEnumerateSystemEnvironmentValuesEx
04D=8059F849:ZwEnumerateValueKey
04E=805AE037:ZwExtendSection
04F=805E61D5:ZwFilterToken
050=805A001A:ZwFindAtom
051=805940A7:ZwFlushBuffersFile
052=8058C8B5:ZwFlushInstructionCache
053=805E915B:ZwFlushKey
054=805A330D:ZwFlushVirtualMemory
055=8064AB20:ZwFlushWriteBuffer
056=8064A52A:ZwFreeUserPhysicalPages
057=8057D2BF:ZwFreeVirtualMemory
058=80581504:ZwFsControlFile
059=805EA674:ZwGetContextThread
05A=8064FE05:ZwGetDevicePowerState
05B=805EACCB:ZwGetPlugPlayEvent
05C=80546EC4:ZwGetWriteWatch
05D=805F32E2:ZwImpersonateAnonymousToken
05E=80599FDF:ZwImpersonateClientOfPort
05F=8059D9C8:ZwImpersonateThread
060=805B97C8:ZwInitializeRegistry
061=8064FC59:ZwInitiatePowerAction
062=80590C31:ZwIsProcessInJob
063=8064FDF2:ZwIsSystemResumeAutomatic
064=805BE19C:ZwListenPort
065=805BBDFE:ZwLoadDriver
066=805B4D8F:ZwLoadKey
067=8062958C:ZwLoadKey2
068=805B6A6C:ZwLoadKeyEx
069=805A4342:ZwLockFile
06A=805E6EAA:ZwLockProductActivationKeys
06B=805E0064:ZwLockRegistryKey
06C=805E6A65:ZwLockVirtualMemory
06D=805AD8BA:ZwMakePermanentObject
06E=805ADB05:ZwMakeTemporaryObject
06F=80649392:ZwMapUserPhysicalPages
070=80649859:ZwMapUserPhysicalPagesScatter
071=8058B905:ZwMapViewOfSection
072=80669A4F:ZwModifyBootEntry
073=80669A4F:ZwModifyDriverEntry
074=805F159D:ZwNotifyChangeDirectoryFile
075=8059BF1C:ZwNotifyChangeKey
076=8059BD2D:ZwNotifyChangeMultipleKeys
077=80590F66:ZwOpenDirectoryObject
078=8059B615:ZwOpenEvent
079=8066A0F4:ZwOpenEventPair
07A=8057B09D:ZwOpenFile
07B=80636E03:ZwOpenIoCompletion
07C=805B18B0:ZwOpenJobObject
07D=8057AD88:ZwOpenKey
07E=80588508:ZwOpenMutant
07F=805EF885:ZwOpenObjectAuditAlarm
080=80595613:ZwOpenProcess
081=80580110:ZwOpenProcessToken
082=80580816:ZwOpenProcessTokenEx
083=8058C94B:ZwOpenSection
084=805B5152:ZwOpenSemaphore
085=80590A10:ZwOpenSymbolicLinkObject
086=805A4A8C:ZwOpenThread
087=80581976:ZwOpenThreadToken
088=805818E5:ZwOpenThreadTokenEx
089=805ED40F:ZwOpenTimer
08A=805A44A2:ZwPlugPlayControl
08B=805B0364:ZwPowerInformation
08C=805A4C28:ZwPrivilegeCheck
08D=805E68CE:ZwPrivilegeObjectAuditAlarm
08E=805A9BF0:ZwPrivilegedServiceAuditAlarm
08F=80586A67:ZwProtectVirtualMemory
090=805A1752:ZwPulseEvent
091=80587755:ZwQueryAttributesFile
092=80669A5C:ZwQueryBootEntryOrder
093=80669A5C:ZwQueryBootOptions
094=8050AC75:ZwQueryDebugFilterState
095=80581FD5:ZwQueryDefaultLocale
096=80589C53:ZwQueryDefaultUILanguage
097=8058931C:ZwQueryDirectoryFile
098=80597D65:ZwQueryDirectoryObject
099=80669A5C:ZwQueryDriverEntryOrder
09A=80637410:ZwQueryEaFile
09B=805A4D89:ZwQueryEvent
09C=8059D735:ZwQueryFullAttributesFile
09D=805EFFFE:ZwQueryInformationAtom
09E=805872CF:ZwQueryInformationFile
09F=805B15AB:ZwQueryInformationJobObject
0A0=80646A66:ZwQueryInformationPort
0A1=80581DEA:ZwQueryInformationProcess
0A2=80578DC6:ZwQueryInformationThread
0A3=80580718:ZwQueryInformationToken
0A4=8059F58C:ZwQueryInstallUILanguage
0A5=8066AA4E:ZwQueryIntervalProfile
0A6=80636EBC:ZwQueryIoCompletion
0A7=80582C31:ZwQueryKey
0A8=80628765:ZwQueryMultipleValueKey
0A9=8066A412:ZwQueryMutant
0AA=805F3CAD:ZwQueryObject
0AB=80628953:ZwQueryOpenSubKeys
0AC=80628B89:ZwQueryOpenSubKeysEx
0AD=8058159E:ZwQueryPerformanceCounter
0AE=80637C9D:ZwQueryQuotaInformationFile
0AF=8058879A:ZwQuerySection
0B0=8059B7E7:ZwQuerySecurityObject
0B1=80669325:ZwQuerySemaphore
0B2=80590816:ZwQuerySymbolicLinkObject
0B3=80669A76:ZwQuerySystemEnvironmentValue
0B4=80669A35:ZwQuerySystemEnvironmentValueEx
0B5=8057EBE2:ZwQuerySystemInformation
0B6=80599E57:ZwQuerySystemTime
0B7=8058E677:ZwQueryTimer
0B8=805A0436:ZwQueryTimerResolution
0B9=80579D61:ZwQueryValueKey
0BA=80584264:ZwQueryVirtualMemory
0BB=8057B60D:ZwQueryVolumeInformationFile
0BC=8058E78E:ZwQueueApcThread
0BD=804ED198:ZwRaiseException
0BE=80669075:ZwRaiseHardError
0BF=8057F886:ZwReadFile
0C0=805B0B82:ZwReadFileScatter
0C1=8059A59D:ZwReadRequestData
0C2=805881E0:ZwReadVirtualMemory
0C3=8058A402:ZwRegisterThreadTerminatePort
0C4=80576B77:ZwReleaseMutant
0C5=8059AEB5:ZwReleaseSemaphore
0C6=80579945:ZwRemoveIoCompletion
0C7=80670462:ZwRemoveProcessDebug
0C8=80628DEC:ZwRenameKey
0C9=8062948F:ZwReplaceKey
0CA=80582E50:ZwReplyPort
0CB=8057D2A0:ZwReplyWaitReceivePort
0CC=8057CDB0:ZwReplyWaitReceivePortEx
0CD=80646B39:ZwReplyWaitReplyPort
0CE=80669A4F:ZwRequestDeviceWakeup
0CF=8059A5F2:ZwRequestPort
0D0=8058EBC3:ZwRequestWaitReplyPort
0D1=8064FC04:ZwRequestWakeupLatency
0D2=805A6751:ZwResetEvent
0D3=8054743E:ZwResetWriteWatch
0D4=80629286:ZwRestoreKey
0D5=80652FF5:ZwResumeProcess
0D6=805826FA:ZwResumeThread
0D7=80629325:ZwSaveKey
0D8=806293B2:ZwSaveKeyEx
0D9=80627F0D:ZwSaveMergedKeys
0DA=8058F4B2:ZwSecureConnectPort
0DB=80669A5C:ZwSetBootEntryOrder
0DC=80669A5C:ZwSetBootOptions
0DD=805B36F1:ZwSetContextThread
0DE=806704F1:ZwSetDebugFilterState
0DF=805CC1AC:ZwSetDefaultHardErrorPort
0E0=805B948B:ZwSetDefaultLocale
0E1=805B9433:ZwSetDefaultUILanguage
0E2=80669A5C:ZwSetDriverEntryOrder
0E3=8063794E:ZwSetEaFile
0E4=8057CBD7:ZwSetEvent
0E5=80577690:ZwSetEventBoostPriority
0E6=8066A3B0:ZwSetHighEventPair
0E7=8066A2E6:ZwSetHighWaitLowEventPair
0E8=80670255:ZwSetInformationDebugObject
0E9=8057A747:ZwSetInformationFile
0EA=805E2B5F:ZwSetInformationJobObject
0EB=80628400:ZwSetInformationKey
0EC=8059423E:ZwSetInformationObject
0ED=80582221:ZwSetInformationProcess
0EE=80579629:ZwSetInformationThread
0EF=805A8844:ZwSetInformationToken
0F0=8066A5A0:ZwSetIntervalProfile
0F1=8057E39A:ZwSetIoCompletion
0F2=806528DB:ZwSetLdtEntries
0F3=8066A34F:ZwSetLowEventPair
0F4=8066A27D:ZwSetLowWaitHighEventPair
0F5=80637C7E:ZwSetQuotaInformationFile
0F6=805A7626:ZwSetSecurityObject
0F7=80669D39:ZwSetSystemEnvironmentValue
0F8=80669A35:ZwSetSystemEnvironmentValueEx
0F9=80599238:ZwSetSystemInformation
0FA=8067D325:ZwSetSystemPowerState
0FB=8066897B:ZwSetSystemTime
0FC=805ADC19:ZwSetThreadExecutionState
0FD=804F09BF:ZwSetTimer
0FE=805AEB3B:ZwSetTimerResolution
0FF=805BE73C:ZwSetUuidSeed
100=80594859:ZwSetValueKey
101=806381ED:ZwSetVolumeInformationFile
102=8066814B:ZwShutdownSystem
103=80548D9E:ZwSignalAndWaitForSingleObject
104=8066A7EC:ZwStartProfile
105=8066A999:ZwStopProfile
106=80652FA0:ZwSuspendProcess
107=805B2163:ZwSuspendThread
108=8066AAF2:ZwSystemDebugControl
109=80653A9B:ZwTerminateJobObject
10A=80592CBA:ZwTerminateProcess
10B=80578714:ZwTerminateThread
10C=805804F8:ZwTestAlert
10D=80520D5E:ZwTraceEvent
10E=80669A69:ZwTranslateFilePath
10F=8063A3C5:ZwUnloadDriver
110=8062947C:ZwUnloadKey
111=80627FC6:ZwUnloadKey2
112=806281CB:ZwUnloadKeyEx
113=805A420B:ZwUnlockFile
114=805B0977:ZwUnlockVirtualMemory
115=8058BE79:ZwUnmapViewOfSection
116=805C7AA2:ZwVdmControl
117=805B27C8:ZwWaitForDebugEvent
118=80576D38:ZwWaitForMultipleObjects
119=8057628D:ZwWaitForSingleObject
11A=8066A21C:ZwWaitHighEventPair
11B=8066A1BB:ZwWaitLowEventPair
11C=8057A248:ZwWriteFile
11D=805B0FE1:ZwWriteFileGather
11E=8059B0A6:ZwWriteRequestData
11F=805882D7:ZwWriteVirtualMemory
120=8050B1C1:ZwYieldExecution
121=805D9D7F:ZwCreateKeyedEvent
122=805915CF:ZwOpenKeyedEvent
123=8066B22F:ZwReleaseKeyedEvent
124=8066B4AA:ZwWaitForKeyedEvent
125=80651170:ZwQueryPortInformationProcess


winxp/sp2内核服务函数列表,数量=11C(此表由创建于CNASM内部系统分析工具3.0)

000=8058FF12:ZwAcceptConnectPort
001=8057B3B1:ZwAccessCheck
002=80598012:ZwAccessCheckAndAuditAlarm
003=805E01E6:ZwAccessCheckByType
004=80598099:ZwAccessCheckByTypeAndAuditAlarm
005=8063F008:ZwAccessCheckByTypeResultList
006=80641199:ZwAccessCheckByTypeResultListAndAuditAlarm
007=806411E2:ZwAccessCheckByTypeResultListAndAuditAlarmByHandle
008=80581221:ZwAddAtom
009=8064EEB3:ZwAddBootEntry
00A=8063E7CB:ZwAdjustGroupsToken
00B=80597849:ZwAdjustPrivilegesToken
00C=80636AE2:ZwAlertResumeThread
00D=805832D5:ZwAlertThread
00E=80596B44:ZwAllocateLocallyUniqueId
00F=8062D916:ZwAllocateUserPhysicalPages
010=805DC3E9:ZwAllocateUuids
011=80570E06:ZwAllocateVirtualMemory
012=805E5D79:ZwAreMappedFilesTheSame
013=805E8049:ZwAssignProcessToJobObject
014=804E5EC4:ZwCallbackReturn
015=8064EE9F:ZwCancelDeviceWakeupRequest
016=805ACCB3:ZwCancelIoFile
017=804EF208:ZwCancelTimer
018=80570718:ZwClearEvent
019=8056F9E9:ZwClose
01A=8059173A:ZwCloseObjectAuditAlarm
01B=806551C7:ZwCompactKeys
01C=8059200C:ZwCompareTokens
01D=805908F2:ZwCompleteConnectPort
01E=80655435:ZwCompressKey
01F=80591820:ZwConnectPort
020=804E222D:ZwContinue
021=806600F7:ZwCreateDebugObject
022=805AE932:ZwCreateDirectoryObject
023=805764A8:ZwCreateEvent
024=8064F504:ZwCreateEventPair
025=8057E3B5:ZwCreateFile
026=805DFD56:ZwCreateIoCompletion
027=805D979A:ZwCreateJobObject
028=80636F89:ZwCreateJobSet
029=80578284:ZwCreateKey
02A=805AD920:ZwCreateMailslotFile
02B=8057CD19:ZwCreateMutant
02C=80588378:ZwCreateNamedPipeFile
02D=805B9421:ZwCreatePagingFile
02E=805E29E8:ZwCreatePort
02F=805B50C0:ZwCreateProcess
030=8058BCC0:ZwCreateProcessEx
031=8064FB25:ZwCreateProfile
032=8056DE25:ZwCreateSection
033=8057A316:ZwCreateSemaphore
034=805E590C:ZwCreateSymbolicLinkObject
035=80585B62:ZwCreateThread
036=805E3350:ZwCreateTimer
037=805AA80B:ZwCreateToken
038=805AF220:ZwCreateWaitablePort
039=80661271:ZwDebugActiveProcess
03A=806613CB:ZwDebugContinue
03B=8056EB59:ZwDelayExecution
03C=805922B8:ZwDeleteAtom
03D=8064EE9F:ZwDeleteBootEntry
03E=805D8FA2:ZwDeleteFile
03F=8059B493:ZwDeleteKey
040=80641239:ZwDeleteObjectAuditAlarm
041=8059A085:ZwDeleteValueKey
042=80588074:ZwDeviceIoControlFile
043=805BA8C0:ZwDisplayString
044=80579C46:ZwDuplicateObject
045=8057D14D:ZwDuplicateToken
046=8064EEB3:ZwEnumerateBootEntries
047=805793FA:ZwEnumerateKey
048=8064EE8B:ZwEnumerateSystemEnvironmentValuesEx
049=8059060D:ZwEnumerateValueKey
04A=8062C8D5:ZwExtendSection
04B=805D3EF9:ZwFilterToken
04C=805E06C5:ZwFindAtom
04D=8058340B:ZwFlushBuffersFile
04E=805870CA:ZwFlushInstructionCache
04F=805E4A3F:ZwFlushKey
050=805E6D0A:ZwFlushVirtualMemory
051=8062E173:ZwFlushWriteBuffer
052=8062DCC9:ZwFreeUserPhysicalPages
053=805714A0:ZwFreeVirtualMemory
054=80581FCC:ZwFsControlFile
055=80634A5D:ZwGetContextThread
056=80632F37:ZwGetDevicePowerState
057=805A0FAF:ZwGetPlugPlayEvent
058=8053F879:ZwGetWriteWatch
059=805E259D:ZwImpersonateAnonymousToken
05A=80591445:ZwImpersonateClientOfPort
05B=80587C2C:ZwImpersonateThread
05C=805AF425:ZwInitializeRegistry
05D=80632D03:ZwInitiatePowerAction
05E=80636E3F:ZwIsProcessInJob
05F=80632F1E:ZwIsSystemResumeAutomatic
060=805D1564:ZwListenPort
061=805ADA28:ZwLoadDriver
062=805D43C2:ZwLoadKey
063=805D4210:ZwLoadKey2
064=80592D85:ZwLockFile
065=805D1630:ZwLockProductActivationKeys
066=805CF453:ZwLockRegistryKey
067=805B2D23:ZwLockVirtualMemory
068=805E5C24:ZwMakePermanentObject
069=805E5B6D:ZwMakeTemporaryObject
06A=8062CF72:ZwMapUserPhysicalPages
06B=8062D3CB:ZwMapUserPhysicalPagesScatter
06C=8057F70B:ZwMapViewOfSection
06D=8064EE9F:ZwModifyBootEntry
06E=80595ABF:ZwNotifyChangeDirectoryFile
06F=8059748D:ZwNotifyChangeKey
070=8059729F:ZwNotifyChangeMultipleKeys
071=80589255:ZwOpenDirectoryObject
072=80590733:ZwOpenEvent
073=8064F5F5:ZwOpenEventPair
074=8057E529:ZwOpenFile
075=80620665:ZwOpenIoCompletion
076=806371E1:ZwOpenJobObject
077=80572CBC:ZwOpenKey
078=8057CDC7:ZwOpenMutant
079=80598D03:ZwOpenObjectAuditAlarm
07A=8057A0DA:ZwOpenProcess
07B=80577C67:ZwOpenProcessToken
07C=80577BBE:ZwOpenProcessTokenEx
07D=8057FB3A:ZwOpenSection
07E=805E5CEB:ZwOpenSemaphore
07F=805891D8:ZwOpenSymbolicLinkObject
080=80596EF6:ZwOpenThread
081=80575F57:ZwOpenThreadToken
082=80575E51:ZwOpenThreadTokenEx
083=8064F42B:ZwOpenTimer
084=8059FE11:ZwPlugPlayControl
085=805E5F26:ZwPowerInformation
086=805A010C:ZwPrivilegeCheck
087=805DC52F:ZwPrivilegeObjectAuditAlarm
088=805D12E8:ZwPrivilegedServiceAuditAlarm
089=8057A3EF:ZwProtectVirtualMemory
08A=805AF178:ZwPulseEvent
08B=80582D30:ZwQueryAttributesFile
08C=8064EEB3:ZwQueryBootEntryOrder
08D=8064EEB3:ZwQueryBootOptions
08E=804FD6A9:ZwQueryDebugFilterState
08F=8056F139:ZwQueryDefaultLocale
090=80588B53:ZwQueryDefaultUILanguage
091=80580AD8:ZwQueryDirectoryFile
092=8058E401:ZwQueryDirectoryObject
093=80620AE4:ZwQueryEaFile
094=80590B5A:ZwQueryEvent
095=8058536F:ZwQueryFullAttributesFile
096=805AEC39:ZwQueryInformationAtom
097=8057FCAB:ZwQueryInformationFile
098=8058B546:ZwQueryInformationJobObject
099=8062A57B:ZwQueryInformationPort
09A=8057603B:ZwQueryInformationProcess
09B=8057564A:ZwQueryInformationThread
09C=80576A55:ZwQueryInformationToken
09D=80589384:ZwQueryInstallUILanguage
09E=8064FFD7:ZwQueryIntervalProfile
09F=80620726:ZwQueryIoCompletion
0A0=80578FFA:ZwQueryKey
0A1=80654BE8:ZwQueryMultipleValueKey
0A2=8064F95E:ZwQueryMutant
0A3=80589607:ZwQueryObject
0A4=80654DEE:ZwQueryOpenSubKeys
0A5=805708FB:ZwQueryPerformanceCounter
0A6=80621395:ZwQueryQuotaInformationFile
0A7=80587517:ZwQuerySection
0A8=805E84B4:ZwQuerySecurityObject
0A9=8064E763:ZwQuerySemaphore
0AA=80589049:ZwQuerySymbolicLinkObject
0AB=8064EEDB:ZwQuerySystemEnvironmentValue
0AC=8064EE75:ZwQuerySystemEnvironmentValueEx
0AD=805864CF:ZwQuerySystemInformation
0AE=805919F9:ZwQuerySystemTime
0AF=8059608C:ZwQueryTimer
0B0=8058ACE1:ZwQueryTimerResolution
0B1=80573100:ZwQueryValueKey
0B2=80582647:ZwQueryVirtualMemory
0B3=8057E667:ZwQueryVolumeInformationFile
0B4=80595FE7:ZwQueueApcThread
0B5=804E2275:ZwRaiseException
0B6=8064E49F:ZwRaiseHardError
0B7=8058295B:ZwReadFile
0B8=80621C6B:ZwReadFileScatter
0B9=80591E97:ZwReadRequestData
0BA=80587A43:ZwReadVirtualMemory
0BB=805862B3:ZwRegisterThreadTerminatePort
0BC=8056EBC4:ZwReleaseMutant
0BD=805835DF:ZwReleaseSemaphore
0BE=8056F65F:ZwRemoveIoCompletion
0BF=80661346:ZwRemoveProcessDebug
0C0=8065502F:ZwRenameKey
0C1=80655522:ZwReplaceKey
0C2=8057CE46:ZwReplyPort
0C3=80575629:ZwReplyWaitReceivePort
0C4=80575141:ZwReplyWaitReceivePortEx
0C5=8062A65A:ZwReplyWaitReplyPort
0C6=80632EAB:ZwRequestDeviceWakeup
0C7=805E9324:ZwRequestPort
0C8=805796C4:ZwRequestWaitReplyPort
0C9=80632CA4:ZwRequestWakeupLatency
0CA=805E36C3:ZwResetEvent
0CB=8053FCF2:ZwResetWriteWatch
0CC=80654040:ZwRestoreKey
0CD=80636A82:ZwResumeProcess
0CE=805861D9:ZwResumeThread
0CF=806540E7:ZwSaveKey
0D0=8065417F:ZwSaveKeyEx
0D1=80654253:ZwSaveMergedKeys
0D2=8058F748:ZwSecureConnectPort
0D3=8064EEB3:ZwSetBootEntryOrder
0D4=8064EEB3:ZwSetBootOptions
0D5=80634C83:ZwSetContextThread
0D6=80662D26:ZwSetDebugFilterState
0D7=805B49B1:ZwSetDefaultHardErrorPort
0D8=805D9E07:ZwSetDefaultLocale
0D9=805D9DAE:ZwSetDefaultUILanguage
0DA=80621029:ZwSetEaFile
0DB=80570689:ZwSetEvent
0DC=8057676E:ZwSetEventBoostPriority
0DD=8064F8E9:ZwSetHighEventPair
0DE=8064F80D:ZwSetHighWaitLowEventPair
0DF=80660CE7:ZwSetInformationDebugObject
0E0=805839EE:ZwSetInformationFile
0E1=805D98EE:ZwSetInformationJobObject
0E2=8065474B:ZwSetInformationKey
0E3=805907A9:ZwSetInformationObject
0E4=80582B1D:ZwSetInformationProcess
0E5=80576581:ZwSetInformationThread
0E6=805A9EA5:ZwSetInformationToken
0E7=8064FB03:ZwSetIntervalProfile
0E8=8057590F:ZwSetIoCompletion
0E9=8063599B:ZwSetLdtEntries
0EA=8064F87F:ZwSetLowEventPair
0EB=8064F79B:ZwSetLowWaitHighEventPair
0EC=8062136D:ZwSetQuotaInformationFile
0ED=805DFAD1:ZwSetSecurityObject
0EE=8064F178:ZwSetSystemEnvironmentValue
0EF=8064EE75:ZwSetSystemEnvironmentValueEx
0F0=805DA74F:ZwSetSystemInformation
0F1=8066E0F9:ZwSetSystemPowerState
0F2=8064E153:ZwSetSystemTime
0F3=805EB24F:ZwSetThreadExecutionState
0F4=804E89FD:ZwSetTimer
0F5=805EB516:ZwSetTimerResolution
0F6=805D4521:ZwSetUuidSeed
0F7=80580F03:ZwSetValueKey
0F8=806218A9:ZwSetVolumeInformationFile
0F9=8064D89F:ZwShutdownSystem
0FA=8051C9EB:ZwSignalAndWaitForSingleObject
0FB=8064FD6C:ZwStartProfile
0FC=8064FF25:ZwStopProfile
0FD=80636A27:ZwSuspendProcess
0FE=80636943:ZwSuspendThread
0FF=80650085:ZwSystemDebugControl
100=8063735F:ZwTerminateJobObject
101=8058D549:ZwTerminateProcess
102=805857A8:ZwTerminateThread
103=80585CC1:ZwTestAlert
104=80549A08:ZwTraceEvent
105=8064EEC7:ZwTranslateFilePath
106=80623ED4:ZwUnloadDriver
107=80654319:ZwUnloadKey
108=80654516:ZwUnloadKeyEx
109=80592EE5:ZwUnlockFile
10A=8062E1E7:ZwUnlockVirtualMemory
10B=8057F293:ZwUnmapViewOfSection
10C=805B2353:ZwVdmControl
10D=80660A30:ZwWaitForDebugEvent
10E=8056ECA1:ZwWaitForMultipleObjects
10F=8056E265:ZwWaitForSingleObject
110=8064F731:ZwWaitHighEventPair
111=8064F6C7:ZwWaitLowEventPair
112=80583C75:ZwWriteFile
113=805ACFA0:ZwWriteFileGather
114=80591F1B:ZwWriteRequestData
115=80587B3B:ZwWriteVirtualMemory
116=804F5102:ZwYieldExecution
117=805C7562:ZwCreateKeyedEvent
118=8058BECC:ZwOpenKeyedEvent
119=806504F9:ZwReleaseKeyedEvent
11A=80650764:ZwWaitForKeyedEvent


winnt/sp4内核服务函数列表,数量=F8(此表由创建于CNASM内部系统分析工具3.0)

000=8058B3BF:ZwAcceptConnectPort
001=8058E86B:ZwAccessCheck
002=8059DEF3:ZwAccessCheckAndAuditAlarm
003=805EB034:ZwAccessCheckByType
004=805A11F4:ZwAccessCheckByTypeAndAuditAlarm
005=80539214:ZwAccessCheckByTypeResultList
006=805EC2FF:ZwAccessCheckByTypeResultListAndAuditAlarm
007=805EC33F:ZwAccessCheckByTypeResultListAndAuditAlarmByHandle
008=8059581C:ZwAddAtom
009=805E8874:ZwAdjustGroupsToken
00A=8057860A:ZwAdjustPrivilegesToken
00B=805DC7E2:ZwAlertResumeThread
00C=805755F7:ZwAlertThread
00D=8057C8A6:ZwAllocateLocallyUniqueId
00E=80528472:ZwAllocateUserPhysicalPages
00F=80588D50:ZwAllocateUuids
010=80596BFB:ZwAllocateVirtualMemory
011=805D0CEF:ZwAreMappedFilesTheSame
012=805DCB95:ZwAssignProcessToJobObject
013=804E189A:ZwCallbackReturn
014=805B06CB:ZwCancelIoFile
015=804F8F66:ZwCancelTimer
016=805D69D4:ZwCancelDeviceWakeupRequest
017=8057E0CC:ZwClearEvent
018=8052C422:ZwClose
019=80576F58:ZwCloseObjectAuditAlarm
01A=8058B849:ZwCompleteConnectPort
01B=8058A9DA:ZwConnectPort
01C=80545250:ZwContinue
01D=805D4BD5:ZwCreateDirectoryObject
01E=8057BC80:ZwCreateEvent
01F=805AA7A5:ZwCreateEventPair
020=80580C2D:ZwCreateFile
021=805A18F5:ZwCreateIoCompletion
022=805DC8B8:ZwCreateJobObject
023=805883BE:ZwCreateKey
024=8056D3DA:ZwCreateMailslotFile
025=8057FCA5:ZwCreateMutant
026=8057628A:ZwCreateNamedPipeFile
027=805CE260:ZwCreatePagingFile
028=8058098F:ZwCreatePort
029=8058D948:ZwCreateProcess
02A=805A9D6F:ZwCreateProfile
02B=8058EFF6:ZwCreateSection
02C=805770F9:ZwCreateSemaphore
02D=8057C6C4:ZwCreateSymbolicLinkObject
02E=805769C1:ZwCreateThread
02F=805A1C6E:ZwCreateTimer
030=805EE543:ZwCreateToken
031=805CC375:ZwCreateWaitablePort
032=805A0467:ZwDelayExecution
033=805A0528:ZwDeleteAtom
034=805B0833:ZwDeleteFile
035=8059D3C5:ZwDeleteKey
036=80571D0C:ZwDeleteObjectAuditAlarm
037=80581309:ZwDeleteValueKey
038=80588EF6:ZwDeviceIoControlFile
039=805A61B4:ZwDisplayString
03A=8057FE25:ZwDuplicateObject
03B=8057CF2E:ZwDuplicateToken
03C=8057736D:ZwEnumerateKey
03D=805A0A3C:ZwEnumerateValueKey
03E=8057051D:ZwExtendSection
03F=805E9361:ZwFilterToken
040=805995ED:ZwFindAtom
041=8059A31A:ZwFlushBuffersFile
042=80576667:ZwFlushInstructionCache
043=8058E2C6:ZwFlushKey
044=80590F9C:ZwFlushVirtualMemory
045=805D19A4:ZwFlushWriteBuffer
046=80528A9D:ZwFreeUserPhysicalPages
047=80589828:ZwFreeVirtualMemory
048=80588B14:ZwFsControlFile
049=805A4F1B:ZwGetContextThread
04A=805D69EA:ZwGetDevicePowerState
04B=8059C159:ZwGetPlugPlayEvent
04C=80540086:ZwGetTickCount
04D=805290E4:ZwGetWriteWatch
04E=805EEFE4:ZwImpersonateAnonymousToken
04F=80575FCD:ZwImpersonateClientOfPort
050=80532C84:ZwImpersonateThread
051=805FE159:ZwInitializeRegistry
052=805D67D0:ZwInitiatePowerAction
053=805D69DC:ZwIsSystemResumeAutomatic
054=805CC598:ZwListenPort
055=8060A603:ZwLoadDriver
056=805FEDF3:ZwLoadKey
057=8053FA4E:ZwLoadKey2
058=8058A339:ZwLockFile
059=805D19FB:ZwLockVirtualMemory
05A=80594D99:ZwMakeTemporaryObject
05B=80527B61:ZwMapUserPhysicalPages
05C=80527F74:ZwMapUserPhysicalPagesScatter
05D=80588767:ZwMapViewOfSection
05E=8057844D:ZwNotifyChangeDirectoryFile
05F=805800E4:ZwNotifyChangeKey
060=80580112:ZwNotifyChangeMultipleKeys
061=80599BCA:ZwOpenDirectoryObject
062=8059570A:ZwOpenEvent
063=805AA891:ZwOpenEventPair
064=805835F9:ZwOpenFile
065=805B4F31:ZwOpenIoCompletion
066=805DCACD:ZwOpenJobObject
067=8058A4F2:ZwOpenKey
068=805986D0:ZwOpenMutant
069=805879E0:ZwOpenObjectAuditAlarm
06A=8057E77A:ZwOpenProcess
06B=80595234:ZwOpenProcessToken
06C=8058C198:ZwOpenSection
06D=8059C50F:ZwOpenSemaphore
06E=805A0953:ZwOpenSymbolicLinkObject
06F=805967E5:ZwOpenThread
070=80580E36:ZwOpenThreadToken
071=805AA46B:ZwOpenTimer
072=8058FC32:ZwPlugPlayControl
073=805A3755:ZwPowerInformation
074=80575E38:ZwPrivilegeCheck
075=805EBA39:ZwPrivilegedServiceAuditAlarm
076=805EB815:ZwPrivilegeObjectAuditAlarm
077=8059038B:ZwProtectVirtualMemory
078=805A1A4E:ZwPulseEvent
079=8058A8CE:ZwQueryInformationAtom
07A=80579EE5:ZwQueryAttributesFile
07B=8057EB50:ZwQueryDefaultLocale
07C=8059E87B:ZwQueryDefaultUILanguage
07D=80582459:ZwQueryDirectoryFile
07E=805A33FE:ZwQueryDirectoryObject
07F=805B5963:ZwQueryEaFile
080=8058AF98:ZwQueryEvent
081=8059CAB3:ZwQueryFullAttributesFile
082=8058E525:ZwQueryInformationFile
083=8058DF19:ZwQueryInformationJobObject
084=8059E337:ZwQueryIoCompletion
085=805CC616:ZwQueryInformationPort
086=80594426:ZwQueryInformationProcess
087=80589AB9:ZwQueryInformationThread
088=805790BD:ZwQueryInformationToken
089=8059BCE1:ZwQueryInstallUILanguage
08A=805AA33D:ZwQueryIntervalProfile
08B=8057923A:ZwQueryKey
08C=805FF4A8:ZwQueryMultipleValueKey
08D=805AA604:ZwQueryMutant
08E=8059AE69:ZwQueryObject
08F=805FFB4C:ZwQueryOpenSubKeys
090=80599B2D:ZwQueryPerformanceCounter
091=805B6865:ZwQueryQuotaInformationFile
092=805789AC:ZwQuerySection
093=8052C94A:ZwQuerySecurityObject
094=805A9009:ZwQuerySemaphore
095=8059984F:ZwQuerySymbolicLinkObject
096=805A97BE:ZwQuerySystemEnvironmentValue
097=8059F933:ZwQuerySystemInformation
098=8059B77C:ZwQuerySystemTime
099=8059AD4C:ZwQueryTimer
09A=8058CF1A:ZwQueryTimerResolution
09B=8057A077:ZwQueryValueKey
09C=8057C3CD:ZwQueryVirtualMemory
09D=8057EC21:ZwQueryVolumeInformationFile
09E=805913FF:ZwQueueApcThread
09F=80545298:ZwRaiseException
0A0=805A8C74:ZwRaiseHardError
0A1=8059B7FD:ZwReadFile
0A2=805B7508:ZwReadFileScatter
0A3=80589014:ZwReadRequestData
0A4=8059E05F:ZwReadVirtualMemory
0A5=805759A2:ZwRegisterThreadTerminatePort
0A6=8059BC18:ZwReleaseMutant
0A7=805871EB:ZwReleaseSemaphore
0A8=8059219F:ZwRemoveIoCompletion
0A9=805FF2D7:ZwReplaceKey
0AA=8057E519:ZwReplyPort
0AB=80593E83:ZwReplyWaitReceivePort
0AC=8051374A:ZwReplyWaitReceivePortEx
0AD=805CC819:ZwReplyWaitReplyPort
0AE=805D6972:ZwRequestDeviceWakeup
0AF=80595A2E:ZwRequestPort
0B0=80593AC6:ZwRequestWaitReplyPort
0B1=805D677C:ZwRequestWakeupLatency
0B2=8056C413:ZwResetEvent
0B3=805295CA:ZwResetWriteWatch
0B4=805FEA0C:ZwRestoreKey
0B5=80594998:ZwResumeThread
0B6=80572F99:ZwSaveKey
0B7=805FEB70:ZwSaveMergedKeys
0B8=80512E23:ZwSecureConnectPort
0B9=80580FA6:ZwSetIoCompletion
0BA=805714C5:ZwSetContextThread
0BB=805A8F0B:ZwSetDefaultHardErrorPort
0BC=805A6470:ZwSetDefaultLocale
0BD=805A6A3E:ZwSetDefaultUILanguage
0BE=805B5ED0:ZwSetEaFile
0BF=8058745D:ZwSetEvent
0C0=805AAB33:ZwSetHighEventPair
0C1=805AAA79:ZwSetHighWaitLowEventPair
0C2=805A1308:ZwSetInformationFile
0C3=805DD998:ZwSetInformationJobObject
0C4=805FEFDD:ZwSetInformationKey
0C5=80597435:ZwSetInformationObject
0C6=8057BFC8:ZwSetInformationProcess
0C7=805A0067:ZwSetInformationThread
0C8=805EF572:ZwSetInformationToken
0C9=805AA32B:ZwSetIntervalProfile
0CA=805710AD:ZwSetLdtEntries
0CB=805AAADD:ZwSetLowEventPair
0CC=805AAA15:ZwSetLowWaitHighEventPair
0CD=805B6DD0:ZwSetQuotaInformationFile
0CE=8052C855:ZwSetSecurityObject
0CF=805A9A48:ZwSetSystemEnvironmentValue
0D0=8056C5C0:ZwSetSystemInformation
0D1=80568947:ZwSetSystemPowerState
0D2=8056CBE7:ZwSetSystemTime
0D3=80592CA2:ZwSetThreadExecutionState
0D4=804F90FF:ZwSetTimer
0D5=805A1B95:ZwSetTimerResolution
0D6=805A93B5:ZwSetUuidSeed
0D7=80598D90:ZwSetValueKey
0D8=805B6EEC:ZwSetVolumeInformationFile
0D9=805A6182:ZwShutdownSystem
0DA=8052D2B1:ZwSignalAndWaitForSingleObject
0DB=805A9FE0:ZwStartProfile
0DC=805AA287:ZwStopProfile
0DD=805A522B:ZwSuspendThread
0DE=8060A462:ZwSystemDebugControl
0DF=805DE766:ZwTerminateJobObject
0E0=80582FAC:ZwTerminateProcess
0E1=8059DF29:ZwTerminateThread
0E2=80595218:ZwTestAlert
0E3=8060A7D0:ZwUnloadDriver
0E4=805FEE05:ZwUnloadKey
0E5=805881B4:ZwUnlockFile
0E6=805A0554:ZwUnlockVirtualMemory
0E7=8059A027:ZwUnmapViewOfSection
0E8=805A3B5D:ZwVdmControl
0E9=8052D4A2:ZwWaitForMultipleObjects
0EA=8057ADC3:ZwWaitForSingleObject
0EB=805AA9B7:ZwWaitHighEventPair
0EC=805AA959:ZwWaitLowEventPair
0ED=80577920:ZwWriteFile
0EE=805B7D76:ZwWriteFileGather
0EF=8059848C:ZwWriteRequestData
0F0=8058C248:ZwWriteVirtualMemory
0F1=805CB56F:ZwCreateChannel
0F2=805CB56F:ZwListenChannel
0F3=805CB56F:ZwOpenChannel
0F4=80512D65:ZwReplyWaitSendChannel
0F5=80525DB5:ZwSendWaitReplyChannel
0F6=805D69D4:ZwSetContextChannel

posted @ 2006-12-12 16:46 CPP&&设计模式小屋 阅读(2290) | 评论 (0)编辑 收藏

本文是Vista相关新技术的第三篇文章。

转载请注明出处。

将一下的一段文字以UTF-8形式存储成名字YouAppName .manifest。
并修改
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <assemblyIdentity version="1.0.0.1"
     processorArchitecture="X86"
     name=”Your Application Name
     type="win32"/>

  <description> Your Application Name </description>
  <!-- Identify the application security requirements. -->
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel
          level="requireAdministrator"
          uiAccess="false"/>
        </requestedPrivileges>
       </security>
  </trustInfo>
</assembly>

 

对于 VC2005 来说,可以先生成一个文件,将上述信息写入文件并以 UTF-8 形式存储。修改蓝色标注的部分。

然后在 Manifest Tools 选项中, Input and Output 中填入上述文件的地址和文件名。重新编译后,这个信息就会进入可执行文件的资源中。

posted @ 2006-12-12 16:21 CPP&&设计模式小屋 阅读(4671) | 评论 (7)编辑 收藏

本文是Vista相关新技术的第二篇文章。

转载请注明出处。

Core Audio APIS

Vista 里面,一组新的用户态的音频组件提供给应用程序来改善应用程序操作音频的能力,

包括以下的一些方面:

  • 低延时,几乎无故障的音频流。
  • 提高可靠性 ( 很多音频函数从核心态移到了用户态 )
  • 提高了安全性 (在安全的,低优先级别的线程处理被保护的音频内容)
  • 分配了特定的系统级别的规则 (console, multimedia, communications) 给单独的音频设备。
  • 用户可以直接操作,相应 endpoint 设备的软件抽象 ( 如:扩音器,耳麦及麦克风 ) 以下的高层 API 是以 Core Audio APIs 来工作的。
  • DirectSound
  • DirectMusic
  • Windows multimedia waveXxx and mixerXxx functions
  • Media Foundation
  • Streaming Audio Renderer (SAR)

绝大多数的音频应用程序与以上的高层次的 API 交互而不是直接操作底层的 Core Audio API 。例如以下一些应用可能用到高等级的 API

*        媒体播放器

*        DVD 播放器

*        游戏

*        商用软件

通常这些应用用到 DirectSound 和媒体的底层函数。

通常的应用不需要直接用到 Core Audio API ,例如 Core Audio API 中的 Audio streams 需要使用一个音频设备的原始数据格式。然而,一些第三方的软件开发人员开发以下的产品时,需要用到这些核心的 API

       专业的音频应用程序 (PRO AUDIO)

       实时通信 (RTC) 应用程序

       第三方音频 API

一个 PRO AUDIO RTC 应用程序可能需要直接用底层 Core Audio API 访问音频硬件来达到最小延时的效果。一个第三方的音频 API 需要直接访问 Core Audio API 来实现高层的 API 没有提供的功能。

Core Audio API 包括:

*        Multimedia Device (MMDevice) API :用这些 API 来枚举系统中的音频设备。

*        Windows Audio Session API (WASAPI) :用这些 API 来创建和管理来自音频设备音频流。

*        DeviceTopology API :用这些 API 来直接访问声音适配器中的硬件数据通路的拓扑特性(如音量控制,复用器等)

*        EndpointVolume API :用这些 API 直接访问音频设备的声音控制。这些 API 通常是给那些以独占模式管理音频流的应用程序。

这些 API 提供对于设备的抽象概念,这些概念被描述成为 Audio Endpoint Device 。每个 API 包含很多 COM 接口。由于音频需要低延时和精确的同步,所 MMDevice, WASAPI, DeviceTopology, EndpointVolume APIs 不依赖于 .NET 框架。

除了 Vista 之外其他的操作系统都不支持 Core Audio API 。包括: Microsoft Windows Server 2003, Windows XP, Windows ME, Windows 2000, Windows 98

 

Vista 中的音频控制的角色概念:

假如系统中有多个音频设备,那么一个设备可能用户是用来播放电影的,另一个可能是用来玩游戏的。这样 Vista 中就引入了角色的概念。

ERole 常量

设备角色

渲染举例

捕获举例

eConsole

与计算机交互

游戏和系统的通告声音

语音命令

eCommunications

与他人的声音交流

聊天和 VOIP

聊天和 VOIP

eMultimedia

播放或者录制电影和音乐

电影和音乐

实时的声音录制

 

Vista 中的音量控制被分成 4 种级别:

IAudioStream 接口提供 session 每个流的音量控制。

methods in the IAudioStreamVolume interface.

IChannelAudioVolume 接口提供 session 中每个通道的音量控制。

ISimpleAudioVolume 接口控制每一个 Session 的主音量。

假如需要更改设备的音量大小,则需要操作 IAudioEndpointVolume 接口。

 

开发举例: Vista 中控制系统音量

l         初始化 COM

CoInitializeEx(NULL, COINIT_MULTITHREADED)

l         获取 IMMDeviceEnumerator 设备指针:

   CoCreateInstance(__uuidof(MMDeviceEnumerator), NULL,

                     CLSCTX_ALL, __uuidof(IMMDeviceEnumerator),

                     (void**)&m_pEnumerator)

l         获取 IMMDevice 指针,这是是所有 MM 设备 多媒体设备的根

n         其中第一个参数是指明设备的用途

n         第二个参数指明设备角色

m_pEnumerator->GetDefaultAudioEndpoint(eRender, eMultimedia, &m_pDeviceOut)

l         获取 IAudioEndpointVolume 指针:(我们需要控制系统音量所对应的对象)

m_pDeviceOut->Activate(__uuidof(IAudioEndpointVolume),CLSCTX_ALL,NULL,(void**)&m_AudioEndpointVolume)

l         根据需要调用该对象的 API ,进行操作。

posted @ 2006-12-12 16:11 CPP&&设计模式小屋 阅读(6139) | 评论 (1)编辑 收藏
在Visual Studio .NET 2003 命令提示下进入boost目录,如何进入tools\build\jam_src\,执行build.bat,编译成功得到bjam.exe

接着copy bjam.exe到 boost目录,执行bjam -sBOOST_ROOT=. -sTOOLS=vc7 "-sBUILD=debug release <runtime-link>static/dynamic"

漫长的等待后会在boost目录下的bin文件夹中生产一堆lib,复制到sdk的lib路径下,将boost目录添加的工程中。ok
posted @ 2006-11-27 18:19 CPP&&设计模式小屋 阅读(734) | 评论 (0)编辑 收藏

在C++中,库的地位是非常高的。C++之父 Bjarne Stroustrup先生多次表示了设计库来扩充功能要好过

设计更多的语法的言论。现实中,C++的库门类繁多,解决的问题也是极其广泛,库从轻量级到重量级

的都有。不少都是让人眼界大开,亦或是望而生叹的思维杰作。由于库的数量非常庞大,而且限于笔者

水平,其中很多并不了解。所以文中所提的一些库都是比较著名的大型库。

标准库

标准库中提供了C++程序的基本设施。虽然C++标准库随着C++标准折腾了许多年,直到标准的出台才正

式定型,但是在标准库的实现上却很令人欣慰得看到多种实现,并且已被实践证明为有工业级别强度的

佳作。

1、   Dinkumware C++ Library

参考站点:http://www.dinkumware.com/'>http://www.dinkumware.com/

P.J. Plauger编写的高品质的标准库。P.J. Plauger博士是Dr. Dobb's程序设计杰出奖的获得者。其编

写的库长期被Microsoft采用,并且最近Borland也取得了其OEM的license,在其C/C++的产品中采用

Dinkumware的库。

2、   RogueWave Standard C++ Library

参考站点:

http://www.roguewave.com/'>http://www.roguewave.com/'>http://www.roguewave.com/'>http://ww

w.roguewave.com/

这个库在Borland C++ Builder的早期版本中曾经被采用,后来被其他的库给替换了。笔者不推荐使用

3、SGI STL

参考站点:

http://www.roguewave.com/'>http://www.roguewave.com/'>http://www.roguewave.com/'>http://ww

w.roguewave.com/

SGI公司的C++标准模版库。

4、STLport

参考站点:http://www.stlport.org/'>http://www.stlport.org/

SGI STL库的跨平台可移植版本。

 

准标准库——Boost

Boost库是一个经过千锤百炼、可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的

发动机之一。 Boost库由C++标准委员会库工作组成员发起,在C++社区中影响甚大,其成员已近2000人

。 Boost库为我们带来了最新、最酷、最实用的技术,是不折不扣的“准”标准库。

Boost中比较有名气的有这么几个库:

Regex
正则表达式库

Spirit
LL parser framework,用C++代码直接表达EBNF

Graph
图组件和算法

Lambda
在调用的地方定义短小匿名的函数对象,很实用的functional功能

concept check
检查泛型编程中的concept

Mpl
用模板实现的元编程框架

Thread
可移植的C++多线程库

Python
把C++类和函数映射到Python之中

Pool
内存池管理

smart_ptr
5个智能指针,学习智能指针必读,一份不错的参考是来自CUJ的文章:

Smart Pointers in Boost,哦,这篇文章可以查到,CUJ是提供在线浏览的。中文版见笔者在《Dr.

Dobb's Journal软件研发杂志》第7辑上的译文。


Boost总体来说是实用价值很高,质量很高的库。并且由于其对跨平台的强调,对标准C++的强调,是编

写平台无关,现代C++的开发者必备的工具。但是Boost中也有很多是实验性质的东西,在实际的开发中

实用需要谨慎。并且很多Boost中的库功能堪称对语言功能的扩展,其构造用尽精巧的手法,不要贸然

的花费时间研读。Boost另外一面,比如Graph这样的库则是具有工业强度,结构良好,非常值得研读的

精品代码,并且也可以放心的在产品代码中多多利用。

参考站点:http://www.boost.org'>http://www.boost.org(国内镜像:

http://www.c'>http://www.c'>http://www.c'>http://www.c-view.org/tech/lib/boost/index.htm

GUI

在众多C++的库中,GUI部分的库算是比较繁荣,也比较引人注目的。在实际开发中,GUI库的选择也是

非常重要的一件事情,下面我们综述一下可选择的GUI库,各自的特点以及相关工具的支持。

1、   MFC

大名鼎鼎的微软基础类库(Microsoft Foundation Class)。大凡学过VC++的人都应该知道这个库。虽

然从技术角度讲,MFC是不大漂亮的,但是它构建于Windows API 之上,能够使程序员的工作更容易,编

程效率高,减少了大量在建立 Windows 程序时必须编写的代码,同时它还提供了所有一般 C++ 编程的

优点,例如继承和封装。MFC 编写的程序在各个版本的Windows操作系统上是可移植的,例如,在

Windows 3.1下编写的代码可以很容易地移植到 Windows NT 或 Windows 95 上。但是在最近发展以及

官方支持上日渐势微。

 

2、   QT

参考网站:http://www.trolltech.com/'>http://www.trolltech.com/

Qt是Trolltech公司的一个多平台的C++图形用户界面应用程序框架。它提供给应用程序开发者建立艺术

级的图形用户界面所需的所用功能。Qt是完全面向对象的很容易扩展,并且允许真正地组件编程。自从

1996年早些时候,Qt进入商业领域,它已经成为全世界范围内数千种成功的应用程序的基础。Qt也是流

行的Linux桌面环境KDE 的基础,同时它还支持Windows、Macintosh、Unix/X11等多种平台。

 

3、WxWindows

参考网站:http://www.wxwindows.org/'>http://www.wxwindows.org/

跨平台的GUI库。因为其类层次极像MFC,所以有文章介绍从MFC到WxWindows的代码移植以实现跨平台的

功能。通过多年的开发也是一个日趋完善的GUI库,支持同样不弱于前面两个库。并且是完全开放源代

码的。新近的C++ Builder X的GUI设计器就是基于这个库的。

4、Fox

开放源代码的GUI库。作者从自己亲身的开发经验中得出了一个理想的GUI库应该是什么样子的感受出发

,从而开始了对这个库的开发。有兴趣的可以尝试一下。

参考网站:http://www.fox'>http://www.fox-toolkit.org/

5、   WTL

基于ATL的一个库。因为使用了大量ATL的轻量级手法,模板等技术,在代码尺寸,以及速度优化方面做

得非常到位。主要面向的使用群体是开发COM轻量级供网络下载的可视化控件的开发者。

6、   GTK

参考网站:http://gtkmm.sourceforge.net/

GTK是一个大名鼎鼎的C的开源GUI库。在Linux世界中有Gnome这样的杀手应用。而GTK就是这个库的C++

封装版本。


网络通信

ACE

参考网站:

http://www.c'>http://www.c'>http://www.c'>http://www.cs.wustl.edu/~schmidt/ACE.html

C++库的代表,超重量级的网络通信开发框架。ACE自适配通信环境(Adaptive Communication

Environment)是可以自由使用、开放源代码的面向对象框架,在其中实现了许多用于并发通信软件的

核心模式。ACE提供了一组丰富的可复用C++包装外观(Wrapper Facade)和框架组件,可跨越多种平台

完成通用的通信软件任务,其中包括:事件多路分离和事件处理器分派、信号处理、服务初始化、进程

间通信、共享内存管理、消息路由、分布式服务动态(重)配置、并发执行和同步,等等。

StreamModule

参考网站:http://www.omnifarious.org/StrMod/'>http://www.omnifarious.org/StrMod/

设计用于简化编写分布式程序的库。尝试着使得编写处理异步行为的程序更容易,而不是用同步的外壳

包起异步的本质。

SimpleSocket

参考网站:http://home.hetnet.nl/~lcbokkers/simsock.htm

这个类库让编写基于socket的客户/服务器程序更加容易。

A Stream Socket API for C++

参考网站:

http://www.pcs.cnu.edu/'>http://www.pcs.cnu.edu/~dgame/sockets/socketsC++/sockets.html

又一个对Socket的封装库。

XML

Xerces

参考网站:http://xml.apache.org/xerces-c/

Xerces-C++ 是一个非常健壮的XML解析器,它提供了验证,以及SAX和DOM API。XML验证在文档类型定

义(Document Type Definition,DTD)方面有很好的支持,并且在2001年12月增加了支持W3C XML

Schema 的基本完整的开放标准。

XMLBooster

参考网站:http://www.xmlbooster.com/'>http://www.xmlbooster.com/

这个库通过产生特制的parser的办法极大的提高了XML解析的速度,并且能够产生相应的GUI程序来修改

这个parser。在DOM和SAX两大主流XML解析办法之外提供了另外一个可行的解决方案。

Pull Parser

         参考网站:

http://www.extreme.indiana.edu/xgws/xsoap/xpp/'>http://www.extreme.indiana.edu/xgws/xsoap/

xpp/

         这个库采用pull方法的parser。在每个SAX的parser底层都有一个pull的parser,这个xpp把

这层暴露出来直接给大家使用。在要充分考虑速度的时候值得尝试。

Xalan

         参考网站:http://xml.apache.org/xalan-c/

         Xalan是一个用于把XML文档转换为HTML,纯文本或者其他XML类型文档的XSLT处理器。

CMarkup

         参考网站:http://www.firstobject.com/xml.htm'>http://www.firstobject.com/xml.htm

         这是一种使用EDOM的XML解析器。在很多思路上面非常灵活实用。值得大家在DOM和SAX之外寻

求一点灵感。

libxml++

http://libxmlplusplus.sourceforge.net/

libxml++是对著名的libxml XML解析器的C++封装版本

 

科学计算

Blitz++

参考网站:http://www.oonumerics.org/blitz/'>http://www.oonumerics.org/blitz/

Blitz++ 是一个高效率的数值计算函数库,它的设计目的是希望建立一套既具像C++ 一样方便,同时又

比Fortran速度更快的数值计算环境。通常,用C++所写出的数值程序,比 Fortran慢20%左右,因此

Blitz++正是要改掉这个缺点。方法是利用C++的template技术,程序执行甚至可以比Fortran更快。

Blitz++目前仍在发展中,对于常见的SVD,FFTs,QMRES等常见的线性代数方法并不提供,不过使用者

可以很容易地利用Blitz++所提供的函数来构建。

POOMA

参考网站:

http://www.c'>http://www.c'>http://www.c'>http://www.codesourcery.com/pooma/pooma

POOMA是一个免费的高性能的C++库,用于处理并行式科学计算。POOMA的面向对象设计方便了快速的程

序开发,对并行机器进行了优化以达到最高的效率,方便在工业和研究环境中使用。

MTL

参考网站:http://www.osl.iu.edu/research/mtl/'>http://www.osl.iu.edu/research/mtl/

Matrix Template Library(MTL)是一个高性能的泛型组件库,提供了各种格式矩阵的大量线性代数方面

的功能。在某些应用使用高性能编译器的情况下,比如Intel的编译器,从产生的汇编代码可以看出其

与手写几乎没有两样的效能。

CGAL

参考网站:www.cgal.org

Computational Geometry Algorithms Library的目的是把在计算几何方面的大部分重要的解决方案和

方法以C++库的形式提供给工业和学术界的用户。

 

游戏开发

Audio/Video 3D C++ Programming Library

参考网站:

http://www.galacticasoftware.com/products/av/'>http://www.galacticasoftware.com/products/a

v/

AV3D是一个跨平台,高性能的C++库。主要的特性是提供3D图形,声效支持(SB,以及S3M),控制接口

(键盘,鼠标和遥感),XMS。

KlayGE

参考网站:http://home.g365.net/enginedev/

国内游戏开发高手自己用C++开发的游戏引擎。KlayGE是一个开放源代码、跨平台的游戏引擎,并使用

Python作脚本语言。KlayGE在LGPL协议下发行。感谢龚敏敏先生为中国游戏开发事业所做出的贡献。

OGRE

参考网站:http://www.ogre3d.org'>http://www.ogre3d.org

OGRE(面向对象的图形渲染引擎)是用C++开发的,使用灵活的面向对象3D引擎。它的目的是让开发者

能更方便和直接地开发基于3D硬件设备的应用程序或游戏。引擎中的类库对更底层的系统库(如:

Direct3D和OpenGL)的全部使用细节进行了抽象,并提供了基于现实世界对象的接口和其它类。

 

线程

C++ Threads

参考网站:http://threads.sourceforge.net/

这个库的目标是给程序员提供易于使用的类,这些类被继承以提供在Linux环境中很难看到的大量的线

程方面的功能。

ZThreads

参考网站:http://zthread.sourceforge.net/

一个先进的面向对象,跨平台的C++线程和同步库。

 

序列化

s11n

参考网站:http://s11n.net/

一个基于STL的C++库,用于序列化POD,STL容器以及用户定义的类型。

Simple XML Persistence Library

参考网站:http://sxp.sourceforge.net/

这是一个把对象序列化为XML的轻量级的C++库。

 

字符串

C++ Str Library

参考网站:http://www.utilitycode.com/str/'>http://www.utilitycode.com/str/

操作字符串和字符的库,支持Windows和支持gcc的多种平台。提供高度优化的代码,并且支持多线程环

境和Unicode,同时还有正则表达式的支持。

Common Text Transformation Library

参考网站:http://cttl.sourceforge.net/

这是一个解析和修改STL字符串的库。CTTL substring类可以用来比较,插入,替换以及用EBNF的语法

进行解析。

GRETA

参考网站:http://research.microsoft.com/projects/greta/

这是由微软研究院的研究人员开发的处理正则表达式的库。在小型匹配的情况下有非常优秀的表现。

综合

P::Classes

参考网站:http://pclasses.com/

一个高度可移植的C++应用程序框架。当前关注类型和线程安全的signal/slot机制,i/o系统包括基于

插件的网络协议透明的i/o架构,基于插件的应用程序消息日志框架,访问sql数据库的类等等。

ACDK - Artefaktur Component Development Kit

posted @ 2006-11-27 14:14 CPP&&设计模式小屋 阅读(2191) | 评论 (7)编辑 收藏

最近开始读《代码大全》,讲到了软件设计。书上讲得其实很对,软件设计就是从架构师设计的架构上构建这个系统,一套好的设计方案就是在各种相互竞争的目标中做折衷。

优秀的设计应该具有以下的特征:
最小复杂度
易于维护
松散耦合
可扩展性
可重用性
高扇入:就是大量类使用某个给定的类。这就意味着需要多多使用工具类。
低扇出:不要过分使用和依赖于其他的类
可移植性
精简性
层次性
标准技术

posted @ 2006-11-16 10:14 CPP&&设计模式小屋 阅读(545) | 评论 (0)编辑 收藏

本文是Vista相关新技术的第一篇文章。

转载请注明出处。  



最近由于工作原因,需要将系统移植到Vista上面。看了一些文档,发现Windows Vista对内核做了一些调整。

  1. 对于Windows NT 5.x 系统来说:当第一个用户登录上去之后,系统启动了Session 0作为第一个用户的运行的Session。而一些系统程序和一些服务都运行于Session 0.这样。这样假如开发人员开发Service的时候选择与桌面交互,那么服务就能很好的和桌面程序进行交互。
  2. 对于Vista系统来说,微软做了一些调整,为了加强服务的安全性,Vista将所有Service和一些系统进程放入了Sesion 0,而对于用户进程则从Session 1开始。这样就能很好的避免一些恶意服务对于用户使用的时候的一些干扰,提供更好的用户体验(这是我猜的 ^-^).
  3. ·          Use a client/server mechanism such as remote procedure call (RPC) or named pipes rather than window messages to communicate with applications.

    ·          Implement any necessary user interface for the service as follows:

    ·          Use the WTSSendMessage function to create a simple message box on the user’s desktop. This allows the service to give the user a notification and request a simple response.

    ·          For more complex UI, use the CreateProcessAsUser function to create a process in the user’s session. The process can then display a user interface in the user’s session. The service should use a client/server mechanism such as RPC or named pipes to obtain any response from the user.

    ·        Query display properties in the user’s session, not in Session 0, because the resolution and color depth that are reported in Session 0 are unlikely to reflect the actual display properties.

    ·          Explicitly choose either the Local\ or Global\ namespace for any named objects, such as events or mapped memory, that the service makes available. If an object must be accessible to user applications, it must be created in the Global\ namespace to be accessible to other sessions. The following Microsoft Win32® functions all accept named objects: OpenEvent, OpenMutex, OpenSemaphore, OpenWaitableTimer, OpenJobObject, and OpenFileMapping. Care should be taken when using these functions to ensure that the named object is accessible within the current session.

    ·          Test the driver in Windows Vista to ensure that it runs properly. If that is not possible, test the driver in Windows XP with FUS enabled and multiple users logged on. If the driver works correctly for second and subsequent logged-on users, it is not likely to be affected by the Session 0 changes in Windows Vista. The only issues that this test does not detect are those related to the absence of the video driver in Session 0 in Windows Vista.

如果你需要下载文档请到文件下载。

posted @ 2006-11-03 11:39 CPP&&设计模式小屋 阅读(1121) | 评论 (0)编辑 收藏
最近由于工作原因,需要将以前的系统移植到Windows Vista上面。所以准备加一个专栏了,今天就开工,呵呵。
posted @ 2006-11-01 11:26 CPP&&设计模式小屋 阅读(1261) | 评论 (7)编辑 收藏
仅列出标题
共5页: 1 2 3 4 5