0
私はC#でUWPアプリケーションを構築しようとしています。私のアプリはC++で書かれたネイティブライブラリを持っています。アプリケーションがApplicationData.LocalFolderのファイルを読み込もうとすると、CreateFile2 APIはERROR_NOT_SUPPORTED_IN_APPCONTAINERを返します。このAPIに指定されたパスにファイルが存在します。
これは私のアプリでの操作のシーケンスです。WindowsUWP CreateFIle2がApplicationData.LocalFolderのファイルを読み取れません
- 起動アプリ。アプリケーションは、ファイル&は、ステップ1が正常に動作している
このファイル内のデータを読み取ろうとする
私はこれは私がアプリで見る実際のパスである
Windows.Storage.ApplicationData.Current.LocalFolder.Path
を使用してApplicationData.LocalFolderへのパスを取得する:
C:\ Users \ユーザーXXXXX \のAppData \ローカル\パッケージ\ ac7a11e4-c1d6-4d37-b9eb-a4b0dc8f67b8_yyjvd81p022em \ LocalState \ TEMP.TXT
私のコードは以下の通りです:CREATEFILE2_EXTENDED_PARAMETERS ms_param = {0}; ms_param.dwSize = sizeof(CREATEFILE2_EXTENDED_PARAMETERS); ms_param.dwFileAttributes = FILE_ATTRIBUTE_READONLY; ms_param.dwFileFlags = FILE_FLAG_NO_BUFFERING; ms_param.dwSecurityQosFlags = SECURITY_DELEGATION; ms_param.lpSecurityAttributes = NULL; ms_param.hTemplateFile = NULL; g_hfile = CreateFile2(filename, GENERIC_READ, FILE_SHARE_READ|FILE_SHARE_WRITE, OPEN_EXISTING, &ms_param); if (g_hfile == INVALID_HANDLE_VALUE) { return GetLastError(); }
私はdwCreationDispositionパラメータの両方OPEN_EXISTING & OPEN_ALWAYSオプションでCreateFile2を試してみましたが、私はどちらの場合にも同じエラーを参照してください。
私はCreateFile2と似た問題がありました。しかし、それは私のアプリの問題でした&私はその問題を修正しました。今回は、ファイルがLocalFolder内で使用可能ですが、まだエラーが発生します。