A device object, like all Object Manager objects, can be named or unnamed. When a user-mode application makes an I/O request, it specifies the target of the operation by name. The Object Manager resolves the name to determine the destination of the I/O request.
A driver can specify a name for a device object when it calls IoCreateDevice or IoCreateDeviceSecure to create the device object. For more information on when and how to name a device object, see NT Device Names.
A named device object can also have an MS-DOS device name, which is a symbolic link created by IoCreateSymbolicLink or IoCreateSymbolicLinkUnprotected. WDM drivers do not in general require an MS-DOS device name. For more information, see MS-DOS Device Names.
This section contains the following subsections.