Функция MsiSourceListGetInfoW (msi.h)
Функция MsiSourceListGetInfo извлекает сведения об исходном списке для продукта или исправления в определенном контексте.
Синтаксис
UINT MsiSourceListGetInfoW(
[in] LPCWSTR szProductCodeOrPatchCode,
[in, optional] LPCWSTR szUserSid,
[in] MSIINSTALLCONTEXT dwContext,
[in] DWORD dwOptions,
[in] LPCWSTR szProperty,
[out, optional] LPWSTR szValue,
[in, out, optional] LPDWORD pcchValue
);
Параметры
[in] szProductCodeOrPatchCode
Код продукта или guid исправления продукта или исправления. Используйте строку, завершаемую 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
Строка, завершающаяся нулевым значением, задающая извлекаемое значение свойства. Параметр 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 возвращает следующие значения.
Значение | Значение |
---|---|
|
Пользователь не имеет возможности прочитать указанный исходный список. Это не указывает, найден ли продукт или исправление. |
|
Данные конфигурации повреждены. |
|
В функцию передается недопустимый параметр. |
|
Предоставленного буфера недостаточно для хранения запрошенных данных. |
|
Свойство успешно извлечено. |
|
Исправление не найдено. |
|
Продукт не найден. |
|
Свойство source не найдено. |
|
Непредвиденный внутренний сбой. |
Комментарии
Администраторы могут изменять установку продукта или экземпляра исправления, существующего в контексте компьютера или в собственном контексте для каждого пользователя (управляемом или неуправляемом). Они могут изменять установку экземпляра продукта или исправления, который существует в контексте, управляемом пользователем. Администраторы не могут изменять установку другого пользователя экземпляра продукта или исправления, который существует в неуправляемом контексте этого другого пользователя.
Пользователи, не являющиеся администраторами, не могут изменять установку экземпляра продукта или исправления, существующего в контексте пользователя другого пользователя (управляемого или неуправляемого). Они могут изменять установку продукта или экземпляра исправления, который существует в собственном контексте для каждого пользователя. Они могут изменять установку продукта или экземпляра исправлений в контексте компьютера или в собственном контексте, управляемом пользователем, только если им разрешен поиск продукта или источника исправлений. Пользователям можно включить поиск источников, задав политику. Дополнительные сведения см. в разделах Политики 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 и более ранних версий