2012-07-17 1 views
0

Visual C++에서 CreateFile() 함수를 사용하려고합니다. -Visual C++의 CreateFile 함수

{ 
BOOL bTest=FALSE; 
DWORD dwNumRead=0; 
HANDLE hFile=CreateFile(L"D:\\a.dat",GENERIC_READ,FILE_SHARE_READ, 
           NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL,NULL); 
bTest= CloseHandle(hFile); 
} 

bTest의 값이 False가되어 파일이 만들어지지 않습니다. 가능한 경우 CreateFile을 사용하여 파일을 만들고 내가 뭘 잘못하고 있는지 알려주는 예제를 설명하십시오.

답변

0

"OPEN_EXISTING : 파일이나 장치가있는 경우에만 열거 나, 지정된 파일이나 장치가 없으면 기능이 실패합니다". 그게 네 문제 야.

GetLastError() 더 자세히 알려드립니다.

0

실제 문제는 OPEN_EXISTING을 지정하는 dwCreationDisposition 매개 변수 때문에 CreateFileInvalid File Handle이 표시되는 것입니다. 그것은 Opens a file or device, only if it exists.을 의미합니다. CREATE_ALWAYS 또는 CREATE_NEW으로 변경하면 작동합니다.

+0

CreateFile 함수는 CREATE_NEW 대신 OPEN_EXISTING와 협력 감사합니다. – smishr4