3.3.1 对象句柄的继承性
只有当进程具有父子关系时,才能使用对象句柄的继承性。在这种情况下,父进程可以使
用一个或多个内核对象句柄,并且该父进程可以决定生成一个子进程,为子进程赋予对父进程
的内核对象的访问权。若要使这种类型的继承性能够实现,父进程必须执行若干个操作步骤。
首先,当父进程创建内核对象时,必须向系统指明,它希望对象的句柄是个可继承的句柄。
请记住,虽然内核对象句柄具有继承性,但是内核对象本身不具备继承性。
若要创建能继承的句柄,父进程必须指定一个S E C U R I T Y AT T R I B U T E S结构并对它进行
初始化,然后将该结构的地址传递给特定的C r e a t e函数。下面的代码用于创建一个互斥对象,
并将一个可继承的句柄返回给它:
该代码对一个S E C U R I T Y AT T R I B U T E S结构进行初始化,指明该对象应该使用默认安全
性(在Windows 98中该安全性被忽略)来创建,并且返回的句柄应该是可继承的。
只有当进程具有父子关系时,才能使用对象句柄的继承性。在这种情况下,父进程可以使
用一个或多个内核对象句柄,并且该父进程可以决定生成一个子进程,为子进程赋予对父进程
的内核对象的访问权。若要使这种类型的继承性能够实现,父进程必须执行若干个操作步骤。
首先,当父进程创建内核对象时,必须向系统指明,它希望对象的句柄是个可继承的句柄。
请记住,虽然内核对象句柄具有继承性,但是内核对象本身不具备继承性。
若要创建能继承的句柄,父进程必须指定一个S E C U R I T Y AT T R I B U T E S结构并对它进行
初始化,然后将该结构的地址传递给特定的C r e a t e函数。下面的代码用于创建一个互斥对象,
并将一个可继承的句柄返回给它:
该代码对一个S E C U R I T Y AT T R I B U T E S结构进行初始化,指明该对象应该使用默认安全
性(在Windows 98中该安全性被忽略)来创建,并且返回的句柄应该是可继承的。