Createfile打开磁盘的格式要求

Posted piaoxuewaiwai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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);

以上是关于Createfile打开磁盘的格式要求的主要内容,如果未能解决你的问题,请参考以下文章

读取无格式数据

CreateFile:直接对原始磁盘进行写入操作“访问被拒绝” - Vista,Win7

黑客技术之加密你的磁盘

黑客技术之加密你的磁盘

Windows API的CreateFile()中的OPEN_ALWAYS和CREATE_ALWAYS之间的差异

Windows下createfile函数用GENERIC_READ访问模式打不开磁盘