DefineDosDevice on WinXP

Hi,
Looks like WinXP is policy change w.r.t DefineDosDevice().
The URL is -
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/base/defining_an_ms_dos_device_name.asp

According to the url “The visibility of an MS-DOS device names is
categorized as Global or Local MS-DOS Device Namespace. Note that only
processes running in the LocalSystem context can call DefineDosDevice to
create an MS-DOS device in the Global MS-DOS device namespace.”

My application uses DefineDosDevice() that does not execute in the
LocalSystem context. Due to this on WinXP, it creates a device name in
Local MS-DOS device namespace. Now, when I try to share this drive, the
NetShareAdd() API returns an error:"The device or directory does not
exist. " My assumtion is that this error is returned because NetShareAdd()
is searching for the device name in the Global MS-DOS Device Namespace and
it does not exixt there.

My question is that how do I allocate MS-DOS drive letters in the Global
MS-DOS Device namespace as I am not running in Local System context? Can I
make the process change to LocalSystem context temporarily ?

It would be great if someone can help me with a solution or a workaround.

Thanks,
Amit