CreateFile
HANDLE WINAPI CreateFile( __in LPCTSTR lpFileName, __in DWORD dwDesiredAccess, __in DWORD dwShareMode, __in_opt LPSECURITY_ATTRIBUTES lpSecurityAttributes, __in DWORD dwCreationDisposition, __in DWORD dwFlagsAndAttributes, __in_opt HANDLE hTemplateFile );
各个参数的具体含义如下:
lpFileName:要打开的文件名;
dwDesiredAccess:如果是GENERIC_READ表示允许对设备进行读访问;如果是GENERIC_WRITE表示允许对设备进行写访问(可以组合使用);如果是0,表示只允许获取与一个设备有关的信息;
dwShareMode:定义共享模式。如果是0表示不共享;是FILE_SHARE_READ和/或FILE_SHARE_WRITE表示允许对文件进行共享;
lpSecurityAttributes:指向一个SECURITY_ATTRIBUTES结构的指针,定义了文件的安全特性;
dwCreationDisposition:指定当文件存在或不存在时的操作。常见的操作有5种:
- CREATE_NEW:创建文件,如果文件存在会出错;
- CREATE_ALWAYS:创建文件,会修改前一个文件;
- OPEN_EXISTING:文件已经存在;
- OPEN_ALWAYS:如果不存在就创建;
- TRUNCATE_EXISTING:将现有的文件缩短为零长度;
dwFlagAndAttributes:表示新创建文件的属性。文件的常见属性有5种:
- FILE_ATTRIBUTE_ARCHIVE:标记为归档属性;
- FILE_ATTRIBUTE_NORMAL:默认属性;
- FILE_ATTRIBUTE_HIDDEN:隐藏文件或目录;
- FILE_ATTRIBUTE_READONLY:文件为只读;
- FILE_ATTRIBUTE_SYSTEM:文件为系统文件;
hTemplateFile:指向用于存储的文件句柄;如果不为0,则指定一个文件句柄,新的文件将从这个文件中复制扩展属性;
如果该函数调用成功,返回文件句柄;否则返回INVALID_HANDLE_VALUE。