Поделиться через


Метод IApplicationAssociationRegistration::QueryCurrentDefault (shobjidl_core.h)

Определяет приложение по умолчанию для заданного типа связи. Это приложение по умолчанию, запущенное ShellExecute для этого типа.

Синтаксис

HRESULT QueryCurrentDefault(
  [in]  LPCWSTR          pszQuery,
  [in]  ASSOCIATIONTYPE  atQueryType,
  [in]  ASSOCIATIONLEVEL alQueryLevel,
  [out] LPWSTR           *ppszAssociation
);

Параметры

[in] pszQuery

Тип: LPCWSTR

Указатель на строку Юникода, завершающуюся null, которая содержит расширение имени файла или протокол, например .mp3 или HTTP.

[in] atQueryType

Тип: ASSOCIATIONTYPE

Одно из значений перечисления ASSOCIATIONTYPE , указывающее тип связи, например расширение или тип MIME.

[in] alQueryLevel

Тип: ASSOCIATIONLEVEL

Одно из значений перечисления ASSOCIATIONLEVEL , указывающее уровень связи, например для каждого пользователя или компьютера. Обычно это AL_EFFECTIVE.

[out] ppszAssociation

Тип: LPWSTR*

При возврате этого метода содержит адрес указателя на Идентификатор ProgID, который идентифицирует текущую связь по умолчанию.

Примечание За освобождение строки через CoTaskMemFree отвечает вызывающее приложение.
 

Возвращаемое значение

Тип: HRESULT

Если этот метод завершается успешно, он возвращает S_OK. В противном случае возвращается код ошибки HRESULT .

Комментарии

Как правило, создается строка ProgID, соответствующая одному из идентификаторов ProgID, связанных с зарегистрированным приложением, но есть несколько исключений: если возвращаемая строка является протоколом по умолчанию для компьютера, это устаревшая строка, указывающая командную строку для обработчика .exe вместо ProgID. Аналогичным образом, если возвращается тип MIME компьютера по умолчанию, он возвращает строку идентификатора класса (CLSID) прежних версий вместо ProgID.

Требования

Требование Значение
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Целевая платформа Windows
Header shobjidl_core.h (включая Shobjidl.h)

См. также раздел

Программы по умолчанию

IApplicationAssociationRegistration