我想知道是否可以在 Visual C++ 中调用 CreateFile 函数来创建属性为 FILE_ATTRIBUTE_DEVICE(0x00000040 十六进制,64 十进制)的文件。根据 MSDN API,FILE_ATTRIBUTE_DEVICE 是保留的,因此我无法使用它,但我知道必须有某种方法来创建具有此类属性的文件。我必须做什么才能做到这一点?是否还有其他 API 调用,或者我需要创建一个新的结构吗?
Thanks
该标志的存在是为了识别代表设备而不是文件的句柄。例如使用CreateFile打开\\.\C:
返回驱动器的句柄device,而不是文件或目录句柄。
您无法使用此标志创建新的“文件”,因为文件不是设备。使用此标志发明/创建(而不是打开)文件句柄需要编写一个设备驱动程序来提供一个文件句柄(具体来说,您为用户模式客户端可以传递给 CreateFile 的设备对象创建一个名称 - 内核创建文件句柄并设置 FILE_ATTRIBUTE_DEVICE 标志)。
The 创建文件 http://msdn.microsoft.com/en-us/library/aa363858.aspx页面和备注部分设备IO控制 http://msdn.microsoft.com/en-us/library/aa363216.aspx页面应该进一步澄清一些事情。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)