Object Manager

Resources, which are surfaced as logical objects, each reside in a namespace for categorization.

Resources can be physical devices, files or folders on volumes, Registry entries or even running processes.

It is resource-agnostic and can manage any type of resource, including device and file handles.

All resources are represented as objects, each belonging to a logical namespace for categorization and having a type that represents the type of the resource, which exposes the capabilities and functionalities via properties.

Any system call that changes the state of resource allocation to processes goes via the Object Manager.

Referencing objects by handles is faster since it bypasses name translation.

During creation, a process gains handles to a default set of objects.

This consistency ensures uniform handling of various object types programmatically.

Objects shared between all sessions are in the GLOBAL namespace, and session-specific objects are in the specific session namespaces OBJECT_ATTRIBUTES structure: The Attributes member can be zero, or a combination of the following flags: Object Manager paths are available to many Windows API file functions, although Win32 names like \\?\ and \\.\ for the local namespaces suffice for most uses.

[2] Tools that serve as explorers in the Object Manager namespaces are available.

Object Manager in Windows, categorized hierarchically using namespaces
The Object Manager in the architecture of Windows NT