Функция MsiEnumClientsExA (msi.h)
Функция msiEnumClientsEx
установщике Windows 4.5 или более ранней версии: не поддерживается. Эта функция доступна начиная с установщика Windows 5.0.
Синтаксис
UINT MsiEnumClientsExA(
[in] LPCSTR szComponent,
[in, optional] LPCSTR szUserSid,
[in] DWORD dwContext,
[in] DWORD dwProductIndex,
[out, optional] CHAR [39] szProductBuf,
[out, optional] MSIINSTALLCONTEXT *pdwInstalledContext,
[out, optional] LPSTR szSid,
[in, out, optional] LPDWORD pcchSid
);
Параметры
[in] szComponent
GUID кода компонента, определяющий компонент. Функция перечисляет приложения, использующие этот компонент.
[in, optional] szUserSid
Строковое значение, завершающее значение NULL, содержащее идентификатор безопасности (SID.) Перечисление приложений распространяется на пользователей, определяемых этим идентификатором безопасности. Специальная строка SID s-1-1-0 (все) перечисляет все приложения для всех пользователей в системе. Значение SID, отличное от s-1-1-0, указывает идентификатор безопасности пользователя для конкретного пользователя и перечисляет экземпляры приложений, установленных указанным пользователем.
[in] dwContext
Флаг, расширяющий перечисление экземпляров приложений, установленных в указанном контексте установки. Перечисление включает только экземпляры приложений, установленных пользователями, определяемыми szUserSid.
Это может быть сочетание следующих значений.
[in] dwProductIndex
Указывает индекс приложения, который требуется извлечь. Значение этого параметра должно быть равно нулю (0) в первом вызове функции. Для каждого последующего вызова индекс должен увеличиваться на 1. Индекс должен увеличиваться только в том случае, если предыдущий вызов функции возвращает ERROR_SUCCESS.
[out, optional] szProductBuf
Строковое значение, которое получает код продукта для приложения. Длина буфера в этом расположении должна быть достаточно большой, чтобы содержать строковое значение, завершающее значение NULL, содержащее код продукта. Первые 38 символов TCHAR получают GUID компонента, а 39-й символ получает завершающий символ NULL.
[out, optional] pdwInstalledContext
Флаг, предоставляющий контекст установки приложения.
Это может быть сочетание следующих значений.
[out, optional] szSid
Получает идентификатор безопасности (SID), определяющий пользователя, устанавливающего приложение. Расположение получает пустое строковое значение, если этот экземпляр приложения существует в контексте установки на компьютер.
Длина буфера должна быть достаточно большой, чтобы содержать строковое значение, завершающее значение NULL, содержащее идентификатор безопасности. Если буфер слишком мал, функция возвращает ERROR_MORE_DATA и расположение, на которое указывает pcchSid получает количество TCHAR в идентификаторе БЕЗОПАСНОСТИ, а не в том числе завершающий символ NULL.
Если для szSidзадано значение NULL и pcchSid является допустимым указателем на расположение в памяти, функция возвращает ERROR_SUCCESS, а расположение получает количество TCHAR в идентификаторе безопасности, не включая конечный символ NULL. Затем функцию можно вызвать еще раз, чтобы получить значение, при этом szSid размер буфера достаточно велик, чтобы содержать *pcchSid + 1 символов.
Тип SID | Значение |
---|---|
|
Приложение устанавливается в контексте установки на компьютер. |
|
Идентификатор безопасности для пользователя, установив продукт. |
[in, out, optional] pcchSid
Указатель на расположение в памяти, содержащее переменную, указывающую количество TCHAR в идентификаторе безопасности, не включая завершающийся символ NULL. Когда функция возвращается, эта переменная имеет размер запрошенного идентификатора БЕЗОПАСНОСТИ, может ли функция успешно скопировать идентификатор безопасности и завершить значение NULL в расположение буфера, на которое указывает szSid. Размер возвращается в виде числа TCHAR в запрошенном значении, а не включая завершающийся пустой символ.
Этот параметр можно задать для
Возвращаемое значение
Функция MsiEnumClientsEx возвращает одно из следующих значений.
Возвращаемый код | Описание |
---|---|
|
Права администратора необходимы для перечисления компонентов приложений, установленных пользователями, кроме текущего пользователя. |
|
Данные конфигурации повреждены. |
|
Недопустимый параметр передается функции. |
|
Для перечисления приложений больше нет. |
|
Функция завершилась успешно. |
|
Предоставленный буфер слишком мал, чтобы сохранить все значение. |
|
Не удалось выполнить функцию. |
Замечания
Заметка
Заголовок msi.h определяет MsiEnumClientsEx как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Установщик Windows 5.0 в Windows Server 2012, Windows 8, Windows Server 2008 R2 или Windows 7. Сведения о минимальном пакете обновления Windows, требуемом версией установщика Windows, см. в разделе "Требования к установщику Windows Run-Time". |
целевая платформа | Виндоус |
заголовка | msi.h |
библиотеки |
Msi.lib |
DLL | Msi.dll |