Tôi đang viết một ứng dụng sử dụng Uniform Type Identifiers. Cụ thể, tôi gọi số UTTypeCreateAllIdentifiersForTag()
và chuyển số khác nhau MIME.Được cung cấp một UTI (Mã định danh loại đồng nhất), tìm tất cả các loại phù hợp với
Tôi hy vọng rằng chức năng này (khác với UTTypeCreatePreferredIdentifierForTag()
) sẽ cung cấp cho tôi UTI cụ thể nhất cũng như tất cả các UTI phù hợp. Điều này có vẻ không phải là trường hợp - nó trả về một UTI đơn, hoặc các UTI phụ là giả mạo.
Có chức năng UTTypeConformsTo()
được xác định trong cùng một tệp tiêu đề, nhưng tôi muốn một hàm trả về một mảng của tất cả các loại mà UTI này tuân thủ.
Dường như có hy vọng cho tôi, vì MDItemCopyAttributeList()
sẽ trả về danh sách như vậy. Điều đó nói rằng, nó đòi hỏi một MDItemRef
, có thể được tạo từ đường dẫn tệp hoặc URL - điều này không tuyệt vời. Đôi khi dữ liệu của tôi chỉ được lưu trữ trong bộ nhớ và tôi chỉ có một loại MIME để đi qua.
Tôi có phải lặp qua toàn bộ cơ sở dữ liệu của UTI để nhận thông tin này hoặc tôi thiếu gì đó không?