Я пишу приложение, которое использует Uniform Type Identifiers . В частности, я вызываю UTTypeCreateAllIdentifiersForTag ()
и передаю ему различные типы MIME .
Я надеялся, что эта функция (в отличие от UTTypeCreatePreferredIdentifierForTag ()
) предоставит мне наиболее конкретный UTI, а также все UTI, которым он соответствует. Похоже, что это не так - он либо возвращает один UTI, либо вторичные UTI являются ложными.
Существует функция UTTypeConformsTo ()
, определенная в том же файле заголовка, но я бы предпочел функцию, которая возвращает массив всех типов, которым соответствует этот UTI.
Кажется, Надеюсь на меня, поскольку MDItemCopyAttributeList ()
вернет такой список. Тем не менее, для этого требуется MDItemRef
, который может быть создан либо из пути к файлу, либо из URL-адреса, что не очень хорошо. Иногда мои данные хранятся только в памяти, и у меня есть только MIME-тип.
Нужно ли мне перебирать всю базу данных UTI, чтобы получить эту информацию, или я что-то упускаю?