createfile 예제

다음 예제에서는 CreateFile을 사용하여 새 파일을 만들고 작성하기 위해 파일을 열고 WriteFile을 열어 파일에 동기적으로 간단한 문자열을 작성합니다. Windows NT: CreateFile의 와이드(W) 버전을 호출하고 경로에 “\”를 미리 보류하여 MAX_PATH 문자보다 긴 경로를 사용할 수 있습니다. “\”는 함수에 경로 구문 분석 해제를 알려줍니다. 이렇게 하면 거의 32,000개의 유니코드 문자 길이의 경로를 사용할 수 있습니다. 그러나 경로의 각 구성 요소는 MAX_PATH 문자보다 길수 없습니다. 이 기술을 사용하여 정규화된 경로를 사용해야 합니다. 이는 UNC 이름과도 함께 작동합니다. “\”는 경로의 일부로 무시됩니다. 예를 들어 “\C:myworldprivate”은 “C:myworldprivate”으로 보이며 “\\unctom_1hotstuffcoolapps”는 “\tom_1hotstuffcoolapps”로 볼 수 있습니다. […] 만들기 파일을 여는 방법 (파일 만들기 예제) […] 팁: 이전 WriteFile 예제에서 만든 파일을 사용하여 이 예제를 테스트할 수 있습니다. 위에서 설명한 것처럼 dwDesiredAccess에 대해 0을 지정하면 응용 프로그램이 실제로 장치에 액세스하지 않고 장치 특성을 쿼리할 수 있습니다.

예를 들어 응용 프로그램이 플로피 디스크 드라이브의 크기와 드라이브에 플로피없이 지원하는 형식을 확인하려는 경우 이러한 유형의 쿼리가 유용합니다. 개체를 공유하려면 다음 값 중 하나 이상을 조합하여 사용하십시오: Windows 95: hTemplateFile 매개 변수는 NULL이어야 합니다. 핸들을 제공 하면 호출이 실패 하 고 GetLastError 오류_NOT_지원 반환 합니다. lpSecurityAttributes 매개 변수는 무시 되며 NULL로 설정 해야 합니다. . 응용 프로그램은 CreateFile을 사용하여 디렉터리를 만들 수 없습니다. 디렉터리를 만들려면 CreateDirectory 또는 CreateDirectoryEx를 호출해야 합니다. Windows NT: 버전 3.1 이상이 필요합니다.

윈도우 : 윈도우 95 이상이 필요합니다. Windows CE: 버전 1.0 이상이 필요합니다. 헤더: winbase.h에서 선언되었습니다. 가져오기 라이브러리: 커널32.lib를 사용합니다. 유니코드: Windows NT에서 유니코드 및 ANSI 버전으로 구현됩니다. 다음 특성 플래그는 dwFlagsAndAttributes 매개 변수에 대 한 지원 되지 않습니다.: 파일 I/O 개요, 파일 함수, AllocConsole, CloseHandle, ConnectNamedPipe, CreateDirectoryEx, CreateNamedPipe, DeviceIOControl, GetDiskFreeSpace, GetOverlappedResult, GetStdHandle, 오픈 파일, 오버랩된, 읽기 파일, SECURITY_ATTRIBUTES, SetErrorMode, SetStdHandle 트랜스프랙트네드파이프, 버추얼록, WriteFile 새 파일을 만들 때 CreateFile 함수는 다음 작업: Windows NT: CreateFile실패; GetLastError 오류_FILE_NOT_FOUND를 반환합니다. 응용 프로그램은 GetDiskFreeSpace 함수를 호출하여 볼륨의 섹터 크기를 결정할 수 있습니다. dwFlagsAndAttributes 매개 변수는 SECURITY_SQOS_PRESENT 플래그 또는 해당 값을 지원하지 않습니다. 플로피 디스크가 없는 플로피 드라이브나 CD가 없는 CD-ROM 드라이브에 파일을 만들려고 하면 시스템에 사용자에게 디스크 나 CD를 삽입하라는 메시지 상자가 표시됩니다. 시스템이 이 메시지 상자를 표시하지 못하도록 하려면 SEM_FAILCRITICALERRORS가 있는 SetErrorMode 함수를 호출합니다. FILE_SHARE_DELETE를 사용하지 않는 한 파일에 대한 후속 열기 요청이 실패합니다.