Long Dir/File Names Not Supported by CreateFile to Open VxDsID: Q141146
|
To dynamically load your VxD in Windows 95, you can use CreateFile as
documented in the Win32 SDK; follow this structure:
Guides
Programmer's Guide to Windows 95
Using Windows 95 Features
Device I/O Control
Input and Output Control in Applications
Opening the VxD.
CreateFile checks for a file name extension to determine whether VxDName specifies a file. If a file name extension (such as .vxd) is present, the function looks for the file in the standard search path.You can specify the path to the dynamically loadable VxD explicitly. For example, a 32-bit application can load a VxD named Driver.vxd in the C:\Mydir directory by using the following call. Note that The CREATE_NEW flag is not necessary.
hCVxD = CreateFile("\\\\.\\C:\\MYDIR\\DRIVER.VXD", 0,0,0,
CREATE_NEW, FILE_FLAG_DELETE_ON_CLOSE, 0);
The Win32 SDK also states:
If VxDName has no file name extension, CreateFile checks the registry toAgain, the restriction on long names applies. MYVXDPATH cannot contain long names; if it does, the VxD will not load.
see if the name is also a value name under the KnownVxDs key in
HKLM\System\CurrentControlSet\Control\SessionManager. If it is a value
name, CreateFile uses the current value associated with the name as the
full path of the VxD file. This method is useful for specifying VxDs
that are not in the standard search path. In the following example,
CreateFile searches the registry for the MYVXDPATH value.
hDevice = CreateFile("\\\\.\\MYVXDPATH", 0, 0, NULL, 0,
FILE_FLAG_DELETE_ON_CLOSE, NULL);
Additional query words: 4.00 Windows 95 kbinf
Keywords : kbnokeyword kbDDK
Version : 4.00
Platform : WINDOWS
Issue type :
Last Reviewed: March 4, 1999