An opaque data structure that defines a protected entity implemented and manipulated by the operating system. For example, the system service that reads a file operates on an open file object. Every user-visible object has: A type (whose name must be unique). Two parts: header that is operated on by the Object Manager body that is operated on by type-specific system services A set of standardized rules for object creation, deletion, protection, access, management, and naming User-visible objects can be implemented using kernel-mode objects. Kernel-mode objects are visible to (and, except for certain fields in driver and device objects, directly accessible only by) the executive component that defined a given object type. They are indirectly accessible to other kernel-mode code through the type-specific support routines exported by the defining component. For example, KeInitializeDeviceQueue operates on device queue objects. See also opaque.