Hello All,
I’ve posted about this problem a few days ago but nobody answer me…
Here is some addtional information about it.
Trying to solve this problem i have used \Session\1\DosDevices\Z: as parameter to IoCreateSymbolicLink().
But In fact the drive haven’t appeared in this session, and even more…
If i’m trying to view this object (\Session\1\DosDevices\Z:) using WinObj from sysinternals it shows me that object exist but as a target name it shows or something like this…
Any ideas ?
Maybe I should use ZwCreateSymbolicLinkObject to apply right security permissions…
Old Message:
I’ve used IoCreateSymbolicLink() in the my diver to associate drive letter… and here is some problems.
IoCreateSymbolicLink() create symlink to the my driver BUT(!!!) it appears ONLY at the global namespace of server console, but not in current session namespace.
Is there any solution to create this link in the all session name spaces ? or I should do it manually by creating as many symbolic links as sessions on the computer ? (\Sessions\1\DosDevices\ …)
if that, how can I know session count? (In fact it haven’t helped)
The algorithms Windows uses to display and manage drive letters across
sessions is complicated and changes drastically from version to version.
The docs for DefineDosDevice in the later MSDNs attempt to shed some
light on this, but don’t really help much. Creating the links yourself
using IoCreateSymbolic link should be the plan of last resort - instead,
try to use the documented interfaces:
-
You can try using the Mount Mgr API IOCTL_MOUNTMGR_CREATE_POINT (see
XP IFS kit docs) from kernel-mode. This will create a persistent
drive-letter assignment for your volume.
-
You can try calling SetVolumeMountPoint from your user-mode service
(this probably devolves into IOCTL_MOUNTMGR_CREATE_POINT).
-
You can try calling DefineDosDevice from a background application
running in the context of each user. This will create a non-persistent
drive letter in that user’s namespace, until he logs off. IIRC it does
not require admin privileges to create a drive letter using
DefineDosDevice, but does to delete it.
-
Nicholas Ryan
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Alexander
Bilichenko
Sent: Friday, February 21, 2003 12:33 PM
To: File Systems Developers
Subject: [ntfsd] About drives in Terminal Sessions (Addon)
Hello All,
I’ve posted about this problem a few days ago but nobody answer me…
Here is some addtional information about it.
Trying to solve this problem i have used \Session\1\DosDevices\Z: as
parameter to IoCreateSymbolicLink().
But In fact the drive haven’t appeared in this session, and even more…
If i’m trying to view this object (\Session\1\DosDevices\Z:) using
WinObj from sysinternals it shows me that object exist but as a target
name it shows or something like this…
Any ideas ?
Maybe I should use ZwCreateSymbolicLinkObject to apply right security
permissions…
Old Message:
I’ve used IoCreateSymbolicLink() in the my diver to associate drive
letter… and here is some problems.
IoCreateSymbolicLink() create symlink to the my driver BUT(!!!) it
appears ONLY at the global namespace of server console, but not in
current session namespace.
Is there any solution to create this link in the all session name spaces
? or I should do it manually by creating as many symbolic links as
sessions on the computer ? (\Sessions\1\DosDevices\ …)
if that, how can I know session count? (In fact it haven’t helped)
—
You are currently subscribed to ntfsd as: xxxxx@nryan.com
To unsubscribe send a blank email to xxxxx@lists.osr.com