【お知らせ】この部分は英語原文のみでの提供となります。何卒ご了承ください。
2.1.10.7 CreateFile
Contents
Description
This function creates or opens an object and returns a handle that can be used to access the object.
Syntax
HANDLE CreateFile( LPCSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, SECURITY_ATTRIBUTES * lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile )
Parameters
- lpFileName
- [input] A fullpath file name
- dwDesiredAccess
- [input] Specifies the type of access to the object. This parameter can be 0, GENERIC_READ, GENERIC_WRITE
- dwShareMode
- [input] Specifies how the object can be shared. If dwShareMode is 0, and CreateFile succeeds, the object cannot be shared and cannot be opened again until the handle is closed.
- lpSecurityAttributes
- [input] Pointer to a SECURITY_ATTRIBUTES structure that determines whether the returned handle can be inherited by child processes. Use NULL if no need for the handle to be inherited.
- dwCreationDisposition
- [input] Specifies which action to take on files that exist, and which action to take when files do not exist. Can be CREATE_NEW, CREATE_ALWAYS, OPEN_EXISTING, OPEN_ALWAYS, TRUNCATE_EXISTING
- dwFlagsAndAttributes
- [input] Specifies the file attributes and flags for the file.
- hTemplateFile
- [input] Specifies a handle with GENERIC_READ access to a template file. The template file supplies file attributes and extended attributes for the file being created.
Return
If the function succeeds, the return value is an open handle to the specified file.
If the function fails, the return value is INVALID_HANDLE_VALUE.
Examples
EX1
int CreateFile_ex1() { string strNewFilePath = "c:\\temp.txt"; ///Create new file or open an exist file. HANDLE hFile; hFile = CreateFile( strNewFilePath, GENERIC_READ, FILE_SHARE_READ, NULL, CREATE_NEW , FILE_ATTRIBUTE_NORMAL, NULL); if (hFile == INVALID_HANDLE_VALUE) { out_str("Could not Create file."); // process error return -1; } // codes to read the file CloseHandle(hFile);// must close file after reading if(!test_read_file(strNewFilePath)) return 0; return 1; } //opens an existing file for reading. bool test_read_file(LPCSTR lpcszFilename) { HANDLE hFile; hFile = CreateFile(lpcszFilename, GENERIC_READ, // open for reading FILE_SHARE_READ, // share for reading NULL, // no security OPEN_EXISTING, // existing file only FILE_ATTRIBUTE_NORMAL, // normal file NULL); // no attr. template if (hFile == INVALID_HANDLE_VALUE) { out_str("Could not open file."); // process error return false; } // codes to read the file CloseHandle(hFile);// must close file after reading return true; }
Remark
See Also
Header to Include
origin.h