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


Функция 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, с дополнительными сведениями о расположении строки. Обычно для него задана команда оболочки, например открыть. Задайте для этого параметра значение NULL, если он не используется.

[out, optional] pszOut

Тип: LPTSTR

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

[in, out] pcchOut

Тип: DWORD*

Указатель на значение, указывающее количество символов в буфере pszOut. Когда функция возвращается, она указывает на количество символов, помещенных в буфер.

Если флаг ASSOCF_NOTRUNCATE задан в флагах , а буфер, указанный в pszOut, слишком мал, функция возвращает E_POINTER, а значение имеет требуемый размер буфера.

Если pszOutNULL, функция возвращает S_FALSE и pcchOut указывает на требуемый размер буфера.

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

Тип: HRESULT

Возвращает стандартное значение ошибки COM, в том числе следующее:

Ошибка Значение
S_OK Успех.
E_POINTER Буфер pszOut слишком мал, чтобы сохранить всю строку.
S_FALSE pszOutNULL. pcchOut содержит требуемый размер буфера.

Замечания

Эта функция представляет собой оболочку для интерфейса IQueryAssociations. Он предназначен для упрощения процесса использования этого интерфейса. Дополнительные сведения о том, как работают функции сопоставления файлов, см. в IQueryAssociations.

Заметка

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

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 2000 Профессиональный, Windows XP [только классические приложения]
минимальный поддерживаемый сервер Windows 2000 Server [только классические приложения]
целевая платформа Виндоус
заголовка shlwapi.h
библиотеки Shlwapi.lib
DLL Shlwapi.dll (версия 5.0 или более поздняя версия)