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。

原文地址:https://www.cnblogs.com/qiwu1314/p/8616064.html