CreateFile函數是Windows API中的一個函數,用于創建或打開一個文件或設備。它的原型如下:
HANDLE CreateFile(
LPCTSTR lpFileName,
DWORD dwDesiredAccess,
DWORD dwShareMode,
LPSECURITY_ATTRIBUTES lpSecurityAttributes,
DWORD dwCreationDisposition,
DWORD dwFlagsAndAttributes,
HANDLE hTemplateFile
);
參數說明如下:
- lpFileName:要創建或打開的文件或設備的名稱。
- dwDesiredAccess:對文件或設備的訪問權限,可以是GENERIC_READ、GENERIC_WRITE、GENERIC_EXECUTE等常量,或者自定義的訪問權限。
- dwShareMode:共享模式,指定其他進程可以如何訪問文件或設備,可以是FILE_SHARE_READ、FILE_SHARE_WRITE、FILE_SHARE_DELETE等常量。
- lpSecurityAttributes:安全屬性,指定文件或設備的安全描述符。
- dwCreationDisposition:創建或打開文件的方式,可以是CREATE_NEW、CREATE_ALWAYS、OPEN_EXISTING、OPEN_ALWAYS等常量。
- dwFlagsAndAttributes:文件或設備的屬性和標志,可以是FILE_ATTRIBUTE_NORMAL、FILE_FLAG_WRITE_THROUGH、FILE_FLAG_NO_BUFFERING等常量,也可以是自定義的屬性和標志的組合。
- hTemplateFile:一個可選的文件句柄,指定用于創建文件的模板文件。
CreateFile函數成功時返回一個文件句柄,用于后續對文件或設備的操作;失敗時返回INVALID_HANDLE_VALUE。使用完文件句柄時,需要調用CloseHandle函數關閉文件。
CreateFile函數可以用于創建、打開、讀取、寫入、復制、移動和刪除文件,也可以用于打開和關閉設備等操作。根據傳入的參數不同,CreateFile函數可以實現不同的功能。