5

ファイルパスのリストがあります。これらのパスは、マウントされていないボリューム上のファイルにつながる場合があります。ファイルにアクセスする前に、プログラムで OS にボリュームをマウントするように指示するにはどうすればよいですか?

iTunesがそうしているように見えるので、これがどういうわけか可能であることは知っています。たとえば、iTunes でマウントされていないネットワーク接続ボリュームにある曲の再生を開始すると、ボリュームは自動的にマウントされます。

指定されたパスでプログラムによってファイルを開こうとすると、OS はボリュームを自動的にマウントすることになっていますか? または、ディスク アービトレーション フレームワークなどを使用してドライブを手動でマウントする必要がありますか?

ディスク調停フレームワークを使用する必要がある場合、具体的に何をする必要がありますか?

4

2 に答える 2

3

簡単な答え:「ディスクアービトレーションフレームワーク」をいじる必要はありません。AliasManagerはそれをすべて処理できます。

クリス・スーターはすでにかなり近かった。APIに関しては、次の2つの解決策があります。

  1. エイリアス。それらはOSX以前のMacOSにすでに存在し、ファイルまたはフォルダを見つけるためのいくつかの方法を含む構造化ファイルであり、移動または名前変更された場合でも同様です。また、ネットワークボリューム上にある場合のマウント情報など、それらが存在していたボリュームに関する情報も含まれています。ファイルのエイリアスを作成し([ファイル]メニューのFinderの[エイリアスの作成]コマンドを使用)、名前を変更または移動するか、ボリュームをアンマウントすると、これらの動作を確認できます。Finderはボリュームを元に戻そうとしますが、必要に応じてログイン情報を提供するように求められます。「AliasManager」APIもあります。これには、まさにあなたが求めていた関数FSResolveAliasFileWithMountFlagsが含まれます。これにより、エイリアスのターゲットを見つけるだけでなく、ディスクを使用可能にするかどうかを選択できます。

  2. CFURLブックマーク。これは、Alias APIの最新の代替品であり、OSX10.6以降にのみ存在します。CFURLブックマークは、実行時にシステムによってより適切に管理されます。従来のAliasファイルと同等のディスク上のファイル表現があるかどうかはわかりませんが、まったく同じである可能性があります。

いずれにせよ、それらはあなたが必要とするすべてのポインタでなければなりません、私は願っています。

于 2013-01-03T11:26:52.063 に答える
1

エイリアスを使用してみましたか? それらは現在ブックマークとして知られていると思います。それらを解決すると、ボリュームがマウントされる可能性があります。

于 2013-01-03T01:08:04.747 に答える