|
系统上移植到未来的使用32位元(或者其他)技术的作业系统上。这种作法并不如当时每个人想像的那样顺利,但是这种概念基本上是正确的。
有时这些新的资料型态只是为了方便缩写。例如,用於WndProc的第二个参数的UINT资料型态只是一个unsigned int
(无正负号整数),在Windows 98中,这是一个32位元的值。用於WinMain的第三个参数的PSTR资料型态是指向一个字串的指标,即是一个char
*。
其他资料型态的含义不太明显。例如,WndProc的第三和第四个参数分别被定义为WPARAM和LPARAM,这些名字的来源有点历史背景:当Windows还是16位元系统时,WndProc的第三个参数被定义为一个WORD,这是一个16位元的 无正负号短 (unsigned
short)整数,而第四个参数被定义为一个LONG,这是一个32位元有正负号长整数,从而导致了文字「PARAM」前面加上了前置字首「W」和「L」。当然,在32位元的Windows中,WPARAM被定义为一个UINT,而LPARAM被定义为一个LONG(这就是C中的long整数型态),因此视窗讯息处理程式的这两个参数都是32位元的值。这也许有点奇怪,因为WORD资料型态在Windows98中仍然被定义为一种16位元的 无正负号 整数,因此「PARAM」前的「W」就有点误用了。
WndProc函式传回一个型态为LRESULT的值,该值简单地被定义为一个LONG。WinMain函式被指定了一个WINAPI型态(在表头档案中定义的所有Windows函式都被指定这种型态),而WndProc函式被指定一个CALLBACK型态。这两个识别字都被定义为_stdcall,表示在Windows本身和使用者的应用程式之间发生的函式呼叫的呼叫参数传递方式。
HELLOWIN还使用了Windows表头档案中定义的四种资料结构(我们将在本章稍後加以讨论)。这些资料结构如表3-2所示。
|