我想知道是否有可能在Visual C ++中调用CreateFile函数来创build一个属性为FILE_ATTRIBUTE_DEVICE(0x00000040hex,64十进制)的文件。 根据MSDN API,FILE_ATTRIBUTE_DEVICE是保留的,因此我不能使用它,但是我知道必须有一些方法来创build具有这些属性的文件。 我该怎么做才能做到这一点? 是否有其他的API调用,或者我需要做一个新的结构?
谢谢
该标志的存在是为了识别表示设备而不是文件的句柄。 例如,使用CreateFile打开\\.\C:
向驱动设备返回一个句柄,而不是文件或目录句柄。
你不能用这个标志创建一个新的'文件',因为一个文件不是一个设备。 使用此标志创建(而不是打开)文件句柄需要编写一个设备驱动程序来提供一个(具体来说,您为您的设备对象创建一个用户模式客户端可以传递给CreateFile的名称 – 内核创建文件句柄并设置FILE_ATTRIBUTE_DEVICE标志)。
DeviceIOControl页面的CreateFile页面和Remarks部分应该进一步阐明一些事情。