0

WinRT의 일부 파일 관리 API를 사용하고 있습니다. 나는 성공적 ../Packages/myApp/LocalState/에 폴더를 생성하지만 해당 폴더에 새 파일 (CreateFile2)를 만들려고 할 때이WinRT 프로젝트에서 CreateFile2 오류 (ERROR_NOT_SUPPORTED_IN_APPCONTAINER)

error 4252: ERROR_NOT_SUPPORTED_IN_APPCONTAINER 
This functionality is not supported in the context of an app container. 

코드를 얻을 :

localFolder = L"C:\\Users\\Tomas\\AppData\\Local\\Packages\\myApp\\LocalState\\my"; 
CreateDirectory(localFolder.c_str(),NULL); 
localFolder += L"\\MyFile.txt"; 
CREATEFILE2_EXTENDED_PARAMETERS pCreateExParams; 
pCreateExParams.dwSize = sizeof(CREATEFILE2_EXTENDED_PARAMETERS); 
pCreateExParams.dwFileAttributes = FILE_ATTRIBUTE_NORMAL; 
pCreateExParams.lpSecurityAttributes = NULL; 
pCreateExParams.hTemplateFile = NULL; 

HANDLE myfile = CreateFile2(localFolder.c_str(), GENERIC_READ|GENERIC_WRITE, FILE_SHARE_READ|FILE_SHARE_WRITE, OPEN_ALWAYS, &pCreateExParams); 
int error = GetLastError(); 

내가 뭘 잘못하고있어? 매니페스트에 몇 가지 옵션을 설정해야합니까? 도움을 주셔서 감사합니다.

답변

1

이미 문제가 있음 - pCreateExParams 구조체에서 .dwFileFlags 및 .dwSecurityQosFlags의 일부 값이 정의되지 않았습니다. 그럼 제대로 작동합니다.

CREATEFILE2_EXTENDED_PARAMETERS pCreateExParams = {0};