同じソースから2つのファイルが派生しているかどうかを簡単にテストできるように、GUIDをStorageFileに関連付けることをお勧めします。uwpでSystem.CommentまたはSystem.Subjectファイルのプロパティを保存する
私は、ファイルのプロパティにGUIDを保存しようとしている:
private static string GuidProperty = "System.Comment"; // also tried "System.Subject".
static public async Task<Guid> GetGuidAsync(StorageFile file)
{
var properties = await file.Properties.RetrievePropertiesAsync(new string[] { GuidProperty });
if (!(properties[GuidProperty] is string guidString)) {
throw new InvalidOperationException("Missing GUID on file.");
}
return new Guid(guidString);
}
static public async Task InitializeGuidAsync(StorageFile file)
{
var properties = await file.Properties.RetrievePropertiesAsync(new string[] { GuidProperty });
properties[GuidProperty] = Guid.NewGuid().ToString();
await file.Properties.SavePropertiesAsync(properties);
}
これは動作しません。 SavePropertiesAsyncに到達すると、 "COMコンポーネントへの呼び出しから返されたエラーHRESULT E_FAIL"というCOMExceptionがスローされます。
ファイルは、カスタムディレクトリ拡張子を持つappディレクトリのSQLiteデータベースです。
このファイルにGUIDを付けてタグ付けするにはどうすればよいですか?
P.S.いくつかのポーズの後に...多分問題は、カスタムファイルタイプのファイルプロパティハンドラを登録していないことです。それをどうやって行うかわからない。
私は 'FileOpenPicker'でファイルを取得しようとし、' SavePropertiesAsync'を呼び出すと、それは私の側で動作します。プロパティを追加したいファイルの詳細を共有できますか? –
長すぎてここに収まらない) –
私は上記の私の記事を編集してファイルの種類に関する情報を追加しました。 –