2017-09-28 11 views
0

ネイティブDLLを使用するWindows Iot Core Raspberry PiのUWPアプリケーションを開発しようとしています。 私はARM用のネイティブDLLをクロスコンパイルしており、コンパイルはすべて問題ありません。ネイティブDLL acess denied UWP

問題は、ネイティブDLLがCreateFile2を使用してリムーバブル記憶域にアクセスしようとし、アクセス拒否を返すことです。 マニフェストにリムーバブルメディアのアクセス許可を追加しました。また、作成が許可されているファイル拡張子も追加しました。

しかし、まだ失敗しています。

+0

アクセス先のパスについて詳細を表示できますか? –

+0

@Nico Zhu F:\ text.txtはパスです。これは、StorageFolderクラスのpathメソッドによって返されるパスです。私はCreateFileAsyncメソッドを使用してファイルを作成することができますが、通常のウィンドウはAcessが拒否されたファイルの戻り値を作成します。 – hayat1987

+0

SDカードにアクセスしますか? –

答えて

0

CreateFileAsyncは私にとっても役立ちます。私はusbリーダーでSDカードにアクセスしています。私はアクセスを拒否するネイティブDLLにファイルパスを渡す必要があります。またCreateFile2は問題なくローカルアプリフォルダで動作しますが、Windowsストアアプリから呼び出される

は、CreateFile2が簡略化された外部記憶装置では動作しません。 ApplicationData.LocalFolderまたはPackage.InstalledLocationディレクトリ内のファイルまたはディレクトリのみを開くことができます。名前付きパイプやメールスロットを開いたり、暗号化されたファイルを作成することはできません(FILE_ATTRIBUTE_ENCRYPTED)。

詳細についてはCreateFile2 functionSkip the path: stick to the StorageFileを参照してください。