NTSTATUS
IoCreateUnprotectedSymbolicLink(
IN PUNICODE_STRING SymbolicLinkName,
IN PUNICODE_STRING DeviceName
);
IoCreateUnprotectedSymbolicLink sets up an unprotected symbolic link between a device object name and a corresponding Win32®-visible name.
IoCreateUnprotectedSymbolicLink returns the final status of the operation.
IoCreateUnprotectedSymbolicLink can be used by drivers if the user needs to be able to manipulate the symbolic link. For example, the parallel and serial drivers create unprotected symbolic links for LPTx and COMx, so that users can manipulate and reassign them by using the MODE command.
In general, drivers should call this routine instead of IoCreateSymbolicLink if a protected subsystem lets end users change what a named device references as, for example, when using LPT1 to access a network printer.
Callers of IoCreateUnprotectedSymbolicLink must be running at IRQL PASSIVE_LEVEL.