所以我正在使用CreateFile function进行我正在进行的C#项目。我已经看到一些将0
作为dwFlagsAndAttributes
的参数传递的示例。
在我阅读文档时,它没有指定dwFlagsAndAttributes = 0
所需的设置。这只是一种不设置标志或属性的方法吗?
此方法的C#语法为:
[DllImport("kernel32.dll", SetLastError = true)]
static extern SafeFileHandle CreateFile(string lpFileName,
FileAccess dwDesiredAccess, uint dwShareMode, IntPtr lpSecurityAttributes,
FileMode dwCreationDisposition, uint dwFlagsAndAttributes,
IntPtr hTemplateFile);
非常感谢任何帮助。
答案 0 :(得分:2)
是的,它只是意味着该文件没有什么特别之处(即,它不匹配任何File Attribute Constants属性。
答案 1 :(得分:2)
尽管名称为CreateFile
,但此功能用于创建和打开文件。在用于打开文件的情况下,dwFlagsAndAttributes
参数通常被忽略。您看到的案例可能与文件打开和文件创建有关。
如果您正在使用此方法创建文件,我将使用FILE_ATTRIBUTE_NORMAL
(0x80
)。
答案 2 :(得分:2)
这只是一种不设置标志或属性的方法吗?
完全。传递0
作为一组位标志的参数(就像这个参数一样)意味着没有设置任何标志。