说的不是很清楚:以 HANDLE WINAPI CreateJobObject( __in_opt LPSECURITY_ATTRIBUTES lpJobAttributes, __in_opt LPCTSTR lpName ); 为例子说明,msdn上说: The name can have a "Global\" or "Local\" prefix to explicitly create the object in the global or session name space. The remainder of the name can contain any character except the backslash character (\). For more information, see Kernel Object Namespaces. 可是在底层,CreateJobObject又调用了ZwCreateJobObject( OUT PHANDLE JobHandle, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes ) 我想知道 ObjectAttributes的目录信息是否和Namespaces有关系呢?
HANDLE WINAPI CreateJobObject(
__in_opt LPSECURITY_ATTRIBUTES lpJobAttributes,
__in_opt LPCTSTR lpName
);
为例子说明,msdn上说:
The name can have a "Global\" or "Local\" prefix to explicitly create the object in the global or session name space. The remainder of the name can contain any character except the backslash character (\). For more information, see Kernel Object Namespaces.
可是在底层,CreateJobObject又调用了ZwCreateJobObject(
OUT PHANDLE JobHandle,
IN ACCESS_MASK DesiredAccess,
IN POBJECT_ATTRIBUTES ObjectAttributes
) 我想知道
ObjectAttributes的目录信息是否和Namespaces有关系呢?
lpName可以决定你是把这个内核对象创建在哪一个命名空间,如果有Global\前缀的话,就创建在Gloabal namespace里面,否则就创建在应用程序自己独有的session namespace里面