除了内核对象外,你的应用程序也可以使用其他类型的对象,如菜单、窗口、鼠标光标、
刷子和字体等。这些对象属于用户对象或图形设备接口( G D I)对象,而不是内核对象。当初
次着手为Wi n d o w s编程时,如果想要将用户对象或G D I对象与内核对象区分开来,你一定会感
到不知所措。比如,图标究竟是用户对象还是内核对象呢?若要确定一个对象是否属于内核对
象,最容易的方法是观察创建该对象所用的函数。创建内核对象的所有函数几乎都有一个参数,
你可以用来设定安全属性的信息,这与前面讲到的C r e a t e F i l e M a p p i n g函数是相同的。
用于创建用户对象或G D I对象的函数都没有P S E C U R I T Y AT T R I B U T E S参数。例如,让我们
来看一看下面这个C r e a t e I c o n函数:
刷子和字体等。这些对象属于用户对象或图形设备接口( G D I)对象,而不是内核对象。当初
次着手为Wi n d o w s编程时,如果想要将用户对象或G D I对象与内核对象区分开来,你一定会感
到不知所措。比如,图标究竟是用户对象还是内核对象呢?若要确定一个对象是否属于内核对
象,最容易的方法是观察创建该对象所用的函数。创建内核对象的所有函数几乎都有一个参数,
你可以用来设定安全属性的信息,这与前面讲到的C r e a t e F i l e M a p p i n g函数是相同的。
用于创建用户对象或G D I对象的函数都没有P S E C U R I T Y AT T R I B U T E S参数。例如,让我们
来看一看下面这个C r e a t e I c o n函数: