Piszę aplikację, która korzysta z Uniform Type Identifiers. W szczególności dzwonię pod numer UTTypeCreateAllIdentifiersForTag()
i przekazuję różne typy MIME.Biorąc pod uwagę UTI (Uniform Type Identifier) znajdź wszystkie typy, do których jest on zgodny
Moja nadzieja była taka, że ta funkcja (w odróżnieniu od UTTypeCreatePreferredIdentifierForTag()
) da mi najbardziej specyficzne UTI, jak również wszystkie ZUM, do których jest on zgodny. Wydaje się, że tak nie jest - zwraca albo pojedyncze ZUM, albo wtórne ZUM są fałszywe.
Istnieje funkcja UTTypeConformsTo()
zdefiniowana w tym samym pliku nagłówkowym, ale wolałbym funkcję, która zwraca tablicę wszystkich typów, do których ten ZU odpowiada.
Wygląda na to, że mam nadzieję, ponieważ taka lista zostanie zwrócona przez MDItemCopyAttributeList()
. Mimo to wymaga on MDItemRef
, który można utworzyć ze ścieżki pliku lub adresu URL - co nie jest świetne. Czasami moje dane są przechowywane tylko w pamięci i mam tylko typ MIME, aby przejść.
Czy muszę przechodzić przez całą bazę danych UTI, aby uzyskać te informacje, czy też czegoś brakuje?