对象命名空间
对象的命名空间可以保护命名对象免遭未授权的访问,创建一个私有的命名空间可以使应用程序和服务创建一个或多个安全环境。
进程可以使用CreatePrivateNamespace函数创建一个私有命名空间。这个函数需要你指定一个用于定义那些在命名空间中要被隔离的对象的边界。调用者必须在指定的边界创建操作成功。要指定一个边界,使用CreateBoundaryDescriptor和AddSIDToBoundaryDescriptor函数。
将CreatePrivateNamespace函数的lpAliasPrefix参数作为命名空间的名称。每个命名空间唯一标识它的名称和界线。系统支持多个具有相同名称的私人命名空间,只要指定不同的边界。
假设一个进程请求一个命名空间,NS1,它定义一个边界包含两个要素:管理员SID和当前的会话数目。如果创建的命名空间的过程,是在管理员帐户运行在指定的会话。另一个进程可以访问此命名空间使用OpenPrivateNamespace函数。双方指定名称和边界必须匹配,如果这一进程想要打开第一个进程创建的命名空间。请注意,一个进程可以打开一个现有的命名空间,即使是在没有边界的创造者,除非获得命名空间限制使用lpPrivateNamespaceAttributes参数。
这是在此命名空间中创建的对象的名称,该形式是前缀/的ObjectName。前缀是命名空间的名称由CreatePrivateNamespace lpAliasPrefix参数指定。例如,要名为NS1的命名空间内创建一个名为MyEvent事件对象,调用CreateEvent函数并设置lpName参数为NS1 / MyEvent。
进程创建的命名空间可以使用ClosePrivateNamespace函数来关闭句柄命名空间。句柄也可以在创建命名空间的进程终止时关闭。命名空间的句柄被关闭后,随后调用OpenPrivateNamespace会失败,但在命名空间的所有对象上可以操作成功。
对象命名空间
最新推荐文章于 2022-01-10 15:05:44 发布