|
Overview |
|
|
|
Group |
|
|
|
Quick Info
Windows NT
| Yes
| Win95
| No
| Win32s
| No
| Import Library
| kernel32.lib
| Header File
| winbase.h
| Unicode
| No
| Platform Notes
| None
|
|
|
DefineDosDevice
The DefineDosDevice function lets an application define, redefine, or delete MS-DOS device names.
MS-DOS device names are stored as symbolic links in the object name space in
32-bit versions of Windows. The code that converts an MS-DOS path into a
corresponding path in 32-bit versions of Windows uses these symbolic links to map
MS-DOS devices and drive letters. The DefineDosDevice function provides a mechanism whereby a Win32-based application can modify
the symbolic links used to implement the MS-DOS device name space.
BOOL DefineDosDevice(
DWORD dwFlags,
| // flags specifying aspects of device definition
| LPCTSTR lpDeviceName,
| // pointer to MS-DOS device name string
| LPCTSTR lpTargetPath
| // pointer to MS-DOS or path string for 32-bit Windows
| );
|
|
Parameters
dwFlags
Specifies several controllable aspects of the DefineDosDevice function. One or more of the following values can be used:
Value
| Meaning
| DDD_RAW_TARGET_PATH
| If this value is specified, the function does not convert the lpTargetPath string from an MS-DOS path to a path for a 32-bit version of Windows, but
takes it as is.
| DDD_REMOVE_DEFINITION
| If this value is specified, the function removes the specified definition for
the specified device. To determine which definition to remove, the function
walks the list of mappings for the device, looking for a match of lpTargetPath against a prefix of each mapping associated with this device. The first
mapping that matches is the one removed, and then the function returns.
If lpTargetPath is NULL or a pointer to a NULL string, the function will remove the first
mapping associated with the device and pop the most recent one pushed. If there is
nothing left to pop, the device name will be removed.
If this value is NOT specified, the string pointed to by the lpTargetPath parameter will become the new mapping for this device.
| DDD_EXACT_MATCH_ON_REMOVE
| If this value is specified along with DDD_REMOVE_DEFINITION, the function will
use an exact match to determine which mapping to remove. Use this value to
insure that you do not delete something that you did not define.
|
lpDeviceName
Points to an MS-DOS device name string specifying the device the function is
defining, redefining, or deleting. The device name string must not have a
trailing colon, unless a drive letter (C or D, for example) is being defined,
redefined, or deleted.
lpTargetPath
Points to a path string that will implement this device. Points to an MS-DOS
path string unless the DDD_RAW_TARGET_PATH flag is specified, in which case this
parameter points to a path string for a 32-bit version of Windows.
Return Values
If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero. To get extended error
information, call GetLastError.
Remarks
As stated in this function's introductory summary, 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. To
retrieve the current mapping for a particular MS-DOS device name or to obtain a list
of all MS-DOS devices known to the system, use the QueryDosDevice function.
MS-DOS Device names are global. Once defined, an MS-DOS device name remains
visible to all processes until either it is explicitly removed or the system
reboots.
Note that drive letters and device names defined at system boot time are
protected from redefinition and deletion unless a user is running in administrative
mode (ADMIN).
See Also
QueryDosDevice
| Last news from Greatis Software |
 |
|
Nostalgia .Net |
|
.Net is powerful, but not all-powerful, so sometimes we need to use Win32 API for our .Net applications. It's simple enough with Platform Invoke if you have Win32 skill, but we do not always have time to dig the ancient documentation, declare the special types that are compatible with Win32, find the values of the Win32's constants and so on. Nostalgia .Net offers several simple-to-use classes, and components that will allow you to forget about the headache of Win32 and just use the power of Win32 in your application the same way as you use the native. Net classes. More » |
| Recommended software for developers |
 |
|
Ultimate Pack |
|
Component pack for Delphi and C++ Builder that contains runtime form designer, runtime object inspector, print suite and much more for the very special price. More » |
 |
|
Form Designer .Net |
|
Unique runtime form design solution that allows to edit any form in .Net WinForms application at runtime with full source codes for only 300 euro! More » |
 |
|
Print Suite .Net |
|
Print Suite .Net is a set of components for easy printing texts, images and grids from your WinForms applications. Full C# source codes are available More » |
 |
|
Gradient Controls .Net |
|
Gradient Controls .Net offers controls with gradient background feature. Labels, panels and so on... Full C# source codes are available More » |
 |
|
Greatis iGrid |
|
iGrid plots drawing grid right over your desktop, so you can use it everywhere, with any drawing application without any special plugins for different graphic editors. More » |
All the contacts and projectsDmitry Vasiliev (just.dmitry)
Related LinksSoftware for Visual Studio .NET developers Software for Delphi and C++ Builder developers Software for Visual Basic 6 developers Delphi Tips&Tricks MegaDetailed.NET More Online Helps Win32 Programmer's Reference Win32 Multimedia Programmer's Reference OLE Programmer's Reference Microsoft Windows Pen API Programmer's Reference Microsoft Windows Sockets 2 Reference Microsoft Windows Telephony API (TAPI) Programmer's Reference Unix Manual Pages
|