作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我想知道是否可以在 Visual C++ 中调用 CreateFile 函数来创建具有属性 FILE_ATTRIBUTE_DEVICE(0x00000040 十六进制,64 十进制)的文件。根据 MSDN API,FILE_ATTRIBUTE_DEVICE 是保留的,因此我不能使用它,但我知道一定有某种方法可以创建具有此类属性的文件。我必须做什么才能做到这一点?是否有其他 API 调用,或者我是否需要创建一个新结构?
谢谢
最佳答案
该标志的存在是为了识别代表设备而不是文件的句柄。例如,使用 CreateFile 打开 \\.\C:
返回驱动器 device 的句柄,而不是文件或目录句柄。
您不能使用此标志创建新的"file",因为文件不是设备。使用此标志发明/创建(而不是打开)文件句柄需要编写设备驱动程序来提供一个(具体来说,您为设备对象创建一个名称,用户模式客户端可以将其传递给 CreateFile - 内核创建文件句柄并设置 FILE_ATTRIBUTE_DEVICE 标志)。
CreateFile DeviceIOControl 的页面和备注部分页面应该进一步澄清一些事情。
关于c - 在 Visual Studio 中设置 FILE_ATTRIBUTE_DEVICE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3419527/
我想知道是否可以在 Visual C++ 中调用 CreateFile 函数来创建具有属性 FILE_ATTRIBUTE_DEVICE(0x00000040 十六进制,64 十进制)的文件。根据 MS
我是一名优秀的程序员,十分优秀!