您的位置:逆风者 汇编技术 正文
原作者:www.upwinder.com 添加时间:2007-09-01 原文发表:2007-08-31 人气:36 来源:未知

使用MASM写Windows程序,其实就是和Windows API打交道,而一个人是不可能记住所有的API用法的,所以API参考手册是必不可少的,API的参考手册中函数原型是按匈牙利表示法表示的,下面这个表就是API原型中那些前缀的详细解释,希望对初学者有帮助。
逆风编程精品

资料来源:MicroSoft MSDN Platform SDK 参考
a Array 数组
b BOOL (int)布尔(整数)
byUnsigned Char (Byte)无符号字符(字节)
c Char字符(字节)
cbCount of bytes字节数
crColor reference value 颜色(参考)值
cxCount of x (Short)x的集合(短整数)
dwDWORD(unsigned long) 双字(无符号长整数)
f Flags(usually multiple bit values) 标志(一般是有多位的数值)
fnFunction函数
g_global全局的
h Handle句柄
i Integer 整数
l Long长整数
lpLong pointer长指针
m_Data member of a class一个类的数据成员
n Short int 短整数
p Pointer 指针
s String字符串
szZero terminated String以0结尾的字符串
tmText metric 文本规则
u Unsigned int无符号整数
ulUnsigned long (ULONG) 无符号长整数
w WORD (unsigned short) 无符号短整数
x,y x, y coordinates (short)坐标值/短整数
v void空

比如说API函数CreateWindowsEx,API原型如下:
HWND CreateWindowEx(
DWORD dwExStyle,// extended window style
LPCTSTR lpClassName,// pointer to registered class name
LPCTSTR lpWindowName,// pointer to window name
DWORD dwStyle,// window style
int x,// horizontal position of window
int y,// vertical position of window
int nWidth,// window width
int nHeight,// window height
HWND hWndParent,// handle to parent or owner window
HMENU hMenu,// handle to menu, or child-window identifier
HINSTANCE hInstance,// handle to application instance
LPVOID lpParam // pointer to window-creation data
);
那么根据上述前缀表可以得出,dwExStyle需要一个双字值,lpClassName与lpWindowName需要一个指向字符串的长指针(在MASM中则是偏移地址),x、y表示需传递整数值,nWidth与nHeight表示传递短整数,hWndParent表示需要一个窗口句柄,hMenu表示传递一个菜单句柄,hInstance表示传递的是程序实例句柄,lpParam表示可以传递长指针(地址)。
注意看前缀时请不要看前面的类型说明符,而是要看词的前缀,如DWORD dwExStyle,只需要看dwExStyle就知道传递的是双字数。
另外还有其它的组合,只要稍注意就能行,比如说lpfn表示指向函数的长指针,在MASM中则是一个函数的地址,,还有像lpSecurityAttributes之类的,则是指向SECURITY_ATTRIBUTES结构的长指针(地址),lpVBuffer表示传递一个缓存(Buffer)长指针(lp)或者为空(void),还有一些没有前缀的则是这个词已经足够说明它的意思了。等等,熟悉这些前缀的含义可以让你在学习API的时候进行快速的掌握。并能排除一些错误。
(完)

相关文章

DOS下的EXE格式文件
虚拟机管理器
masm中宏指令的bug
动态链接库
汇编与C语言配合
如何建立汇编工作环境
驻留exe文件
进一步学习对话框
MASM的反反汇编技术
给程序加个图标

相关评论


本文章所属分类:首页 汇编技术

  热门关键字:
进制数据输出的通用程序 2007-09-12
汇编源码--showmem 2007-08-31
汇编源码--CLEAN 2007-08-31
汇编源码--hdr 2007-08-31
汇编源码--basload 2007-08-31
汇编源码--CHAR 2007-08-31
汇编源码--fxn 2007-08-31
汇编源码--alarm 2007-08-31
汇编源码--getsect 2007-08-31
汇编源码--DEV 2007-08-31
汇编源码--getspace 2007-08-31
汇编源码--frespace 2007-08-31
CIH文件型病毒检测消除程序 2007-08-31
Mixer Volume Ctrler V1.0 2007-08-31
汇编源码--COMINT 2007-08-31
自己用汇编语言写的一个病毒(源码... 2007-08-31
汇编源码--col 2007-08-31
汇编源码--BURNOUT 2007-08-31