Функция MsiSourceListGetInfoA (msi.h)
Функция MsiSourceListGetInfo извлекает сведения о списке источников для продукта или исправления в определенном контексте.
Синтаксис
UINT MsiSourceListGetInfoA(
[in] LPCSTR szProductCodeOrPatchCode,
[in, optional] LPCSTR szUserSid,
[in] MSIINSTALLCONTEXT dwContext,
[in] DWORD dwOptions,
[in] LPCSTR szProperty,
[out, optional] LPSTR szValue,
[in, out, optional] LPDWORD pcchValue
);
Параметры
[in] szProductCodeOrPatchCode
Идентификатор GUID productcode или patch продукта или исправления. Используйте строку, завершаемую null. Если строка длиннее 39 символов, функция завершается ошибкой и возвращает ERROR_INVALID_PARAMETER. Этот параметр не может иметь значение NULL.
[in, optional] szUserSid
Этот параметр может быть строковым идентификатором безопасности (SID), указывающим учетную запись пользователя, содержащую продукт или исправление. Идентификатор безопасности не проверяется и не разрешается. Неправильный идентификатор безопасности может возвращать ERROR_UNKNOWN_PRODUCT или ERROR_UNKNOWN_PATCH. При ссылке на контекст компьютера szUserSID должен иметь значение NULL , а dwContext — MSIINSTALLCONTEXT_MACHINE.
[in] dwContext
Этот параметр задает контекст экземпляра продукта или исправления. Этот параметр может содержать одно из следующих значений.
[in] dwOptions
Значение dwOptions указывает значение szProductCodeOrPatchCode.
Flag | Значение |
---|---|
|
szProductCodeOrPatchCode — это GUID кода продукта. |
|
szProductCodeOrPatchCode — это GUID кода исправления. |
[in] szProperty
Строка, заканчивающаяся значением NULL, указывающая извлекаемое значение свойства. Параметр szProperty может иметь одно из следующих значений.
[out, optional] szValue
Выходной буфер, получающий сведения. Этот буфер должен быть достаточно большим, чтобы в нем содержались сведения. Если буфер слишком мал, функция возвращает ERROR_MORE_DATA и присваивает *pcchValue числу TCHAR в значении, не включая завершающий символ NULL.
Если параметр szValue имеет значение NULL , а pcchValue — допустимый указатель, функция возвращает ERROR_SUCCESS и присваивает *pcchValue числу TCHAR в значении, не включая завершающий символ NULL. Затем функцию можно вызвать еще раз, чтобы получить значение, с буфером szValue , достаточно большим, чтобы содержать *pcchValue + 1 символ.
Если для szValue и pcchValue задано значение NULL, функция возвращает ERROR_SUCCESS, если значение существует, без извлечения значения.
[in, out, optional] pcchValue
Указатель на переменную, указывающую количество TCHAR в буфере szValue . При возврате функции для этого параметра устанавливается размер запрошенного значения независимо от того, копирует ли функция значение в указанный буфер. Размер возвращается как число TCHAR в запрошенном значении, не включая завершающий символ NULL.
Этому параметру можно задать значение NULL , только если значение szValue также равно NULL, в противном случае функция возвращает ERROR_INVALID_PARAMETER.
Возвращаемое значение
Функция MsiSourceListGetInfo возвращает следующие значения.
Значение | Значение |
---|---|
|
Пользователь не может читать указанный исходный список. Это не указывает, найден ли продукт или исправление. |
|
Данные конфигурации повреждены. |
|
В функцию передается недопустимый параметр. |
|
Предоставленного буфера недостаточно для хранения запрошенных данных. |
|
Свойство успешно извлечено. |
|
Исправление не найдено. |
|
Продукт не найден. |
|
Исходное свойство не найдено. |
|
Непредвиденный внутренний сбой. |
Комментарии
Администраторы могут изменять установку продукта или экземпляра исправления, существующего в контексте компьютера или в собственном контексте для каждого пользователя (управляемом или неуправляемом). Они могут изменять установку экземпляра продукта или исправления, который существует в контексте, управляемом пользователем. Администраторы не могут изменять установку другого пользователя экземпляра продукта или исправления, который существует в неуправляемом контексте этого другого пользователя.
Пользователи, не являющиеся администраторами, не могут изменять установку экземпляра продукта или исправления, существующего в контексте пользователя другого пользователя (управляемого или неуправляемого). Они могут изменять установку продукта или экземпляра исправления, который существует в собственном контексте для каждого пользователя. Они могут изменять установку продукта или экземпляра исправлений в контексте компьютера или в собственном контексте, управляемом пользователем, только если им разрешен поиск продукта или источника исправлений. Пользователям можно включить поиск источников, задав политику. Дополнительные сведения см. в разделах Политики DisableBrowse, AllowLockdownBrowse и AlwaysInstallElevated .
Примечание
Заголовок msi.h определяет MsiSourceListGetInfo в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Минимальная версия клиента | Установщик Windows 5.0 в Windows Server 2012, Windows 8, Windows Server 2008 R2 или Windows 7. Установщик Windows 4.0 или установщик Windows 4.5 в Windows Server 2008 или Windows Vista. Установщик Windows 3.0 или более поздней версии в Windows Server 2003 или Windows XP. Сведения о минимальном пакете обновления Windows, необходимом для версии установщика Windows, см. в разделе Требования к установщику Windows Run-Time. |
Целевая платформа | Windows |
Header | msi.h |
Библиотека | Msi.lib |
DLL | Msi.dll |
См. также раздел
Не поддерживается в установщике Windows 2.0 и более ранних версий
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по