Интерфейс IQueryAssociations (shlwapi.h)
Предоставляет методы, упрощающие процесс получения сведений, хранящихся в реестре, в связи с определением типа файла или протокола и связыванием его с приложением.
Наследование
Интерфейс IQueryAssociations наследуется от интерфейса IUnknown . IQueryAssociations также имеет следующие типы элементов:
Методы
Интерфейс IQueryAssociations имеет эти методы.
IQueryAssociations::GetData Выполняет поиск двоичных данных, связанных с файлами или протоколами, и извлекает их из реестра. |
IQueryAssociations::GetEnum Этот метод не реализован. (IQueryAssociations.GetEnum) |
IQueryAssociations::GetKey Выполняет поиск и извлечение ключа сопоставления файлов или протоколов из реестра. |
IQueryAssociations::GetString Выполняет поиск и извлечение строки сопоставления, связанной с файлом или протоколом, из реестра. (IQueryAssociations.GetString) |
IQueryAssociations::Init Инициализирует интерфейс IQueryAssociations и задает корневой ключ соответствующим ProgID. |
Комментарии
Когда следует реализовать
Этот интерфейс предоставляется оболочкой или расширениями пространства имен для упрощения обработки сопоставлений файлов и протоколов. Этот интерфейс не следует реализовывать.Когда следует использовать
Используйте этот интерфейс, если вам нужны сведения из реестра, связанного с сопоставлениями файлов или протоколов. Например, этот интерфейс можно использовать для получения сведений, связанных с расширением имени файла, например в командной строке одной из его команд.Полный путь к реестру или значение HKEY не требуется. Вместо этого можно получить сведения на основе таких критериев, как расширение имени файла или имя исполняемого файла. Обсуждение сопоставлений файлов см. в разделе " Типы файлов".
Вы также можете получить имя приложения с помощью этого интерфейса. Используйте метод IQueryAssociations::GetString. Задайте для параметра strзначение ASSOCSTR_FRIENDLYAPPNAME.
Чтобы использовать этот интерфейс, необходимо сначала получить указатель на него. Как правило, указатель QueryInterface извлекается путем вызова метода IShellFolder объекта оболочки::GetUIObjectOf . Вы также можете получить указатель интерфейса, вызвав AssocCreate (присвойте clsid значение CLSID_QueryAssociations). Инициализируйте интерфейс с помощью IQueryAssociations::Init. Этот метод задает корневой ключ, который будет использоваться при вызове любого из оставшихся трех методов для получения сведений из реестра. Они будут выглядеть только под корневым ключом. Необходимо освободить интерфейс, если он больше не нужен.
Интерфейс IQueryAssociations полезен, если необходимо повторно запрашивать сведения в реестре. После инициализации интерфейса затраты на вызов различных методов относительно невелики. В разделе "См. также несколько связанных функций", которые позволяют получать те же сведения из реестра с помощью одного вызова функции. Хотя они проще использовать, они вызывают издержки на создание и инициализацию IQueryAssociations при каждом вызове. Из-за этого они лучше всего подходят для одного использования.
Требования
Минимальная версия клиента | Windows 2000 Профессиональный, Windows XP [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | shlwapi.h |