Uniform Type Identifiersを利用するアプリケーションを作成しています。具体的には、さまざまなMIMEタイプを呼び出しUTTypeCreateAllIdentifiersForTag()
て渡しています。
私の希望は、この関数 ( とは異なりますUTTypeCreatePreferredIdentifierForTag()
) が、最も具体的な UTI と、それが準拠するすべての UTI を提供してくれることでした。これは当てはまらないようです -- 単一の UTI を返すか、2 番目の UTI がスプリアスです。
同じヘッダー ファイルで関数がUTTypeConformsTo()
定義されていますが、この UTI が準拠するすべての型の配列を返す関数が望ましいです。
MDItemCopyAttributeList()
そのようなリストを返すように、私には希望があるようです。とは言っMDItemRef
ても、ファイル パスまたは URL から作成できる が必要です。これはあまり良くありません。場合によっては、データがメモリ内にのみ保存され、MIME タイプしか使用できないことがあります。
この情報を取得するには、UTI のデータベース全体を反復処理する必要がありますか?それとも何か不足していますか?