6.8 对自己的I D概念应该有所了解
当线程运行时,它们常常想要调用Wi n d o w s函数来改变它们的运行环境。例如,线程可能
想要改变它的优先级或它的进程的优先级(优先级将在第7章中介绍)。由于线程常常要改变它
的(或它的进程的)环境,因此Wi n d o w s提供了一些函数,使线程能够很容易引用它的进程内
核对象,或者引用它自己的线程内核对象:
上面这两个函数都能返回调用线程的进程的伪句柄或线程内核对象的伪句柄。这些函数并
不在创建进程的句柄表中创建新句柄。还有,调用这些函数对进程或线程内核对象的使用计数
没有任何影响。如果调用C l o s e H a n d l e,将伪句柄作为参数来传递,那么C l o s e H a n d l e就会忽略
该函数的调用并返回FA L S E。
当调用一个需要进程句柄或线程句柄的Wi n d o w s函数时,可以传递一个伪句柄,使该函数
执行它对调用进程或线程的操作。例如,通过调用下面的G e t P r o c e s s Ti m e s函数,线程可以查询
它的进程的时间使用情况:
同样,通过调用G e t T h r e a d Ti m e s函数,线程可以查询它自己的线程时间:
少数Wi n d o w s函数允许用进程或线程在系统范围内独一无二的I D来标识某个进程或线程。