Createfile打开磁盘的格式要求

转载:https://blog.csdn.net/dongpanshan/article/details/7860790
createfile可以打开文件、通道、邮槽、通信资源、磁盘驱动器(仅适用于 windowsNT )、控制台、文件夹(仅用于打开) //来自https://www.cnblogs.com/findumars/p/5636108.html
我就说咯,明明我使用FILE_READ_ATTRIBUTES模式已经成功打开了磁盘的,今天居然打不开,原来是格式错误了。
HANDLE CreateFile( LPCTSTR
lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile );

Parameters

lpFileName
[in] Pointer to a null-terminated string that specifies the name of the object, such as file, COM port, disk device, or console, to create or open.

If *lpFileName is a path, there is a default string size limit of MAX_PATH characters. This limit is related to how the CreateFile function parses paths.

When lpFileName points to a COM port to open, you must include a colon after the name. For example, specify COM1: to open that port. When using IrCOMM, specify COM3:.

在msdn查找CreateFile打开磁盘时对lpFileName的说明不太清楚,特此说明一下,CreateFile打开磁盘时,lpFileName的格式必须为"\\\\.\\C:"(打开C盘),"\\\\.\\D:"(打开D盘)

程序如下:访问C盘

hFile = CreateFile("\\\\.\\C:",
                       GENERIC_READ|GENERIC_WRITE,
                       FILE_SHARE_READ,
                       NULL,
                       OPEN_EXISTING,
                       0, 
                       NULL);

猜你喜欢

转载自www.cnblogs.com/piaoxuewaiwai/p/8960975.html
今日推荐