2024年3月14日发(作者:)

createfile函数详解

CreateFile函数是Windows操作系统中常用的一个函数,它可

以用来创建一个文件、文件夹或者其他设备目录,并可以为它们提供

及控制存取权限。它的结构如下所示:

HANDLE CreateFile(

LPCTSTR lpFileName,t//指定文件名

DWORD dwDesiredAccess,t//文件的访问权限

DWORD dwShareMode,t//文件的共享模式

LPSECURITY_ATTRIBUTES lpSecurityAttributes,t//安全属性

DWORD dwCreationDistribution,t//文件创建方式

DWORD dwFlagsAndAttributes,t//文件属性

HANDLE hTemplateFilet//可选择性参数

);

lpFileName参数用来指定文件名及完整的路径,如果存在这样

的文件,它就会在创建之前先删除掉,如果路径不存在,将会自动创

建路径。

dwDesiredAccess参数用来控制文件的访问权限,如只读、写入、

可完全控制等,这个参数的取值有GENERIC_READ、GENERIC_WRITE、

GENERIC_EXECUTE等,它们可以是某一个独立的值,也可以是多个值

的组合。

- 1 -

dwShareMode参数用来控制文件的共享模式,一般可以选择如下:

允许其他进程读取文件,允许其他进程写入文件,禁止其他进程访问

文件,这里可以使用如下值:FILE_SHARE_READ、FILE_SHARE_WRITE、

FILE_SHARE_DELETE或者是某一个独立值或者是它们的组合。

lpSecurityAttributes参数用来控制安全属性,一般不使用,

可以设为NULL。

dwCreationDistribution参数控制文件的创建方式,一般使用

CREATE_ALWAYS代表重新创建,如果文件已存在,它就会被重新创建,

使用OPEN_EXISTING表示仅打开已存在的文件;

dwFlagsAndAttributes控制文件的属性,可以用关键字控制,

例如若要控制文件的可见性,可以使用FILE_ATTRIBUTE_VISIBLE关

键字,它可以控制文件是否可见,也可以保护文件被其他进程调用,

等等。

hTemplateFile是可选择性参数,为了表示创建文件及文件夹时

候的权限,以及控制文件的属性,例如是否可以对文件系统的某一部

分或者是某一文件进行压缩,等等。

- 2 -

CreateFile函数的返回值是HANDLE类型,如果返回值是

INVALID_HANDLE,则表示创建失败。

CreateFile函数可以很好地创建完整路径,控制文件的存取权

限,也可以控制文件的创建方式,如果路径不存在,它也可以自动创

建该路径,且支持多种类型文件,极大地提高了应用程序的灵活性及

开发效率。

本文就CreateFile函数给出了详细的介绍,包括了结构、参数

及返回值的介绍,以及CreateFile函数的优势。CreateFile函数是

Windows开发过程中常用的函数,可以很好地控制文件的创建方式、

权限、属性等。在开发过程中,使用CreateFile函数可以极大地提

高开发的效率和程序的灵活性。

- 3 -