Функция 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 символ.
[in, out, optional] pcchSid
Указатель на расположение в памяти, содержащее переменную, указывающую число TCHAR в идентификаторе безопасности, не включая завершающий символ NULL. При возврате функции для этой переменной устанавливается размер запрошенного идентификатора безопасности независимо от того, может ли функция успешно скопировать ИД безопасности и завершить символ NULL в расположение буфера, на который указывает szSid. Размер возвращается как число TCHAR в запрошенном значении, не включая завершающий символ NULL.
Этот параметр может иметь значение NULL , только если szSid также имеет значение NULL, в противном случае функция возвращает ERROR_INVALID_PARAMETER. Если для szSid и pcchSid задано значение NULL, функция возвращает ERROR_SUCCESS , если sid существует, без получения значения SID.
Возвращаемое значение
Функция MsiEnumClientsEx возвращает одно из следующих значений.
Код возврата | Описание |
---|---|
|
Права администратора необходимы для перечисления компонентов приложений, установленных пользователями, кроме текущего пользователя. |
|
Данные конфигурации повреждены. |
|
В функцию передается недопустимый параметр. |
|
Больше нет приложений для перечисления. |
|
Функция выполнена успешно. |
|
Предоставленный буфер был слишком мал для хранения всего значения. |
|
Сбой функции. |
Комментарии
Примечание
Заголовок msi.h определяет MsiEnumClientsEx в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Минимальная версия клиента | Установщик Windows 5.0 в Windows Server 2012, Windows 8, Windows Server 2008 R2 или Windows 7. Сведения о минимальном пакете обновления Windows, необходимом для версии установщика Windows, см. в разделе Требования к установщику Windows Run-Time. |
Целевая платформа | Windows |
Header | msi.h |
Библиотека | Msi.lib |
DLL | Msi.dll |