Long Dir/File Names Not Supported by CreateFile to Open VxDsLast reviewed: December 13, 1995Article ID: Q141146 |
The information in this article applies to:
SUMMARYTo 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.This section of the Win32 SDK states:
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);In your CreateFile call, you can only use directory names and file names that have eight or fewer characters with extensions of three or fewer characters. Long names prevent the VxD from loading. You can make use of long directory names by using the search path instead of explicitly specifying the path in the CreateFile call. You may include long directory names in your Autoexec.bat "PATH=" statement, restarting the computer to make the new path effective.
MORE INFORMATIONThe Win32 SDK also states:
If VxDName has no file name extension, CreateFile checks the registry to 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);Again, the restriction on long names applies. MYVXDPATH cannot contain long names; if it does, the VxD will not load.
|
Additional reference words: 4.00 Windows 95 kbinf
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |