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


Функция AssocQueryStringByKeyA (shlwapi.h)

Выполняет поиск и получение строки, связанной с файлами, из реестра, начиная с указанного раздела.

Синтаксис

LWSTDAPI AssocQueryStringByKeyA(
  [in]            ASSOCF   flags,
  [in]            ASSOCSTR str,
  [in]            HKEY     hkAssoc,
  [in, optional]  LPCSTR   pszExtra,
  [out, optional] LPSTR    pszOut,
  [in, out]       DWORD    *pcchOut
);

Параметры

[in] flags

Тип: ASSOCF

Флаги, которые можно использовать для управления поиском. Это может быть любое сочетание значений ASSOCF , за исключением того, что может быть включено только одно значение ASSOCF_INIT.

[in] str

Тип: ASSOCSTR

Значение ASSOCSTR , указывающее тип возвращаемой строки.

[in] hkAssoc

Тип: HKEY

Значение HKEY ключа, который будет использоваться в качестве корневого ключа. Поиск выполняется только под этим ключом.

[in, optional] pszExtra

Тип: LPCTSTR

Указатель на необязательную строку, завершаемую значением NULL, с дополнительными сведениями о расположении строки. Обычно для нее задается команда оболочки, например open. Присвойте этому параметру значение 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 . Он предназначен для упрощения процесса использования этого интерфейса. Дополнительные сведения о том, как работают функции сопоставления файлов, см. в разделе IQueryAssociations.

Примечание

Заголовок shlwapi.h определяет AssocQueryStringByKey в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional, Windows XP [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header shlwapi.h
Библиотека Shlwapi.lib
DLL Shlwapi.dll (версия 5.0 или более поздняя)