QueryDosDevice
The QueryDosDevice
function lets an application obtain information about MS-DOS device names. The
function can obtain the current mapping for a particular MS-DOS device name.
The function can also obtain a list of all existing MS-DOS device names.
MS-DOS device
names are stored as symbolic links in the Windows NT object name space. The
code that converts an MS-DOS path into a corresponding Windows NT path uses
these symbolic links to map MS-DOS devices and drive letters. The QueryDosDevice
function provides a mechanism whereby a Win32-based application can query the
names of the symbolic links used to implement the MS-DOS device namespace as
well as the value of each specific symbolic link.
DWORD QueryDosDevice(
LPCTSTR lpDeviceName, |
// address of
MS-DOS device name string |
LPTSTR lpTargetPath, |
// address of
buffer for storing query results |
DWORD ucchMax |
// maximum storage
capacity of buffer |
); |
|
Parameters
lpDeviceName
Pointer to an
MS-DOS device name string specifying the target of the query.
This
parameter can be NULL. In that case, the QueryDosDevice function will
store a list of all existing MS-DOS device names into the buffer pointed to by lpTargetPath.
lpTargetPath
Pointer to a
buffer that will receive the result of the query. The function fills this
buffer with one or more null-terminated strings. The final null-terminated
string is followed by an additional NULL.
If lpDeviceName
is non-NULL, the function obtains information about the particular MS-DOS
device specified by lpDeviceName. The first null-terminated string
stored into the buffer is the current mapping for the device. The other
null-terminated strings represent undeleted prior mappings for the device.
If lpDeviceName
is NULL, the function obtains a list of all existing MS-DOS device names. Each
null-terminated string stored into the buffer is the name of an existing MS-DOS
device.
ucchMax
Specifies the
maximum number of characters that can be stored into the buffer pointed to by lpTargetPath.
Return Values
If the
function succeeds, the return value is the number of characters stored into the
buffer pointed to by lpTargetPath.
If the
function fails, the return value is zero. To get extended error information,
call GetLastError.
Remarks
The DefineDosDevice
function provides a means whereby a Win32-based application can create and
modify the symbolic links used to implement the MS-DOS device namespace.
MS-DOS device
names are global. Once defined, an MS-DOS device name remains visible to all
processes until either it is explicity removed or the system reboots.
See Also