Функция AssocQueryStringA (shlwapi.h)
Выполняет поиск и извлечение строки сопоставления, связанной с файлом или протоколом, из реестра.
Синтаксис
LWSTDAPI AssocQueryStringA(
[in] ASSOCF flags,
[in] ASSOCSTR str,
[in] LPCSTR pszAssoc,
[in, optional] LPCSTR pszExtra,
[out, optional] LPSTR pszOut,
[in, out] DWORD *pcchOut
);
Параметры
[in] flags
Тип: ASSOCF
Флаги, которые можно использовать для управления поиском. Это может быть любое сочетание значений ASSOCF , за исключением того, что можно включить только одно значение ASSOCF_INIT.
[in] str
Тип: ASSOCSTR
Значение ASSOCSTR , указывающее тип возвращаемой строки.
[in] pszAssoc
Тип: LPCTSTR
Указатель на строку, завершающуюся значением NULL, которая используется для определения корневого ключа. Можно использовать следующие четыре типа строк.
Расширение имени файла
Расширение имени файла, например .txt.
CLSID
Идентификатор GUID CLSID в стандартном формате "{GUID}".
ProgID:
ProgID приложения, например Word.Document.8.
Имя исполняемого файла
Имя файла .exe приложения. Флаг ASSOCF_OPEN_BYEXENAME должен быть установлен в флагах.
[in, optional] pszExtra
Тип: LPCTSTR
Необязательная строка, завершающаяся значением NULL, с дополнительными сведениями о расположении строки. Обычно для него задана команда оболочки, например открытая. Присвойте этому параметру значение NULL , если он не используется.
[out, optional] pszOut
Тип: LPTSTR
Указатель на строку, завершающуюся значением NULL, которая при успешном возвращении этой функции получает запрошенную строку. Задайте для этого параметра значение NULL , чтобы получить требуемый размер буфера.
[in, out] pcchOut
Тип: DWORD*
Указатель на значение, которое при вызове функции присваивается количеству символов в буфере pszOut . Когда функция возвращается успешно, значение задается на количество символов, фактически помещенных в буфер.
Если флаг ASSOCF_NOTRUNCATE установлен в флагах , а буфер, указанный в pszOut , слишком мал, функция возвращает E_POINTER, а значение задается требуемым размером буфера.
Если значение pszOut равно NULL, функция возвращает S_FALSE и pcchOut указывает на требуемый размер буфера в символах.
Возвращаемое значение
Тип: HRESULT
Возвращает стандартное значение ошибки COM, включая следующее:
Ошибка | Значение |
---|---|
S_OK | Успешно. |
E_POINTER | Буфер pszOut слишком мал для хранения всей строки. |
S_FALSE | pszOut имеет значение NULL. pcchOut содержит требуемый размер буфера. |
Комментарии
Эта функция является оболочкой для интерфейса IQueryAssociations . Функция AssocQueryString предназначена для упрощения процесса использования интерфейса IQueryAssociations .
После выбора элемента узел должен решить, какой (если таковой) обработчик предварительного просмотра доступен для этого элемента. Обработчики предварительного просмотра обычно регистрируются в расширениях имен файлов или ProgID, но некоторые обработчики предварительного просмотра создаются только для элементов в определенных папках оболочки (обработчик предварительной версии MAPI связан с любыми элементами, полученными из папки оболочки MAPI, например). Таким образом, узел должен использовать IQueryAssociations , чтобы определить, какой обработчик предварительного просмотра следует использовать. Дополнительные сведения о работе функций сопоставления файлов и протоколов см. в разделе IQueryAssociations.
Примечание
Заголовок shlwapi.h определяет AssocQueryString как псевдоним, который автоматически выбирает версию anSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Перемешивание использования нейтральную кодировку псевдонима с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в соглашениях по прототипам функций.
Требования
Минимальная версия клиента | Windows 2000 Профессиональный, Windows XP [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | shlwapi.h |
Библиотека | Shlwapi.lib |
DLL | Shlwapi.dll (версия 5.0 или более поздняя) |