Функция MsiGetUserInfoA (msi.h)

Функция MsiGetUserInfo возвращает сведения о зарегистрированном пользователе для установленного продукта.

Синтаксис

USERINFOSTATE MsiGetUserInfoA(
  [in]      LPCSTR  szProduct,
  [out]     LPSTR   lpUserNameBuf,
  [in, out] LPDWORD pcchUserNameBuf,
  [out]     LPSTR   lpOrgNameBuf,
  [in, out] LPDWORD pcchOrgNameBuf,
  [in]      LPSTR   lpSerialBuf,
  [in, out] LPDWORD pcchSerialBuf
);

Параметры

[in] szProduct

Указывает код продукта для запрашиваемого продукта.

[out] lpUserNameBuf

Указатель на переменную, которая получает имя пользователя.

[in, out] pcchUserNameBuf

Указатель на переменную, указывающую размер буфера в символах, на который указывает параметр lpUserNameBuf . Этот размер должен включать завершающий символ NULL.

[out] lpOrgNameBuf

Указатель на буфер, который получает название организации.

[in, out] pcchOrgNameBuf

Указатель на переменную, указывающую размер (в символах) буфера, на который указывает параметр lpOrgNameBuf . На входных данных это полный размер буфера, включая пробел для завершающего символа NULL. Если переданный буфер слишком мал, возвращаемое число не включает завершающий символ NULL.

[in] lpSerialBuf

Указатель на буфер, который получает идентификатор продукта.

[in, out] pcchSerialBuf

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

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

Значение Значение
USERINFOSTATE_ABSENT
Некоторые или все сведения о пользователе отсутствуют.
USERINFOSTATE_INVALIDARG
Один из параметров функции был недопустимым.
USERINFOSTATE_MOREDATA
Буфер слишком мал для хранения запрошенных данных.
USERINFOSTATE_PRESENT
Функция успешно завершена.
USERINFOSTATE_UNKNOWN
Код продукта не идентифицирует известный продукт.
 
 

Комментарии

При возврате функции MsiGetUserInfo параметр pcchNameBuf содержит длину строки класса, хранящейся в буфере. Возвращаемое число не включает завершающий символ NULL. Если буфер недостаточно велик, функция MsiGetUserInfo возвращает USERINFOSTATE_MOREDATA, а MsiGetUserInfo содержит размер строки в символах без подсчета пустого символа.

Считается, что сведения о пользователе присутствуют даже при отсутствии названия компании.

Примечание

Заголовок msi.h определяет MsiGetUserInfo в качестве псевдонима, который автоматически выбирает версию 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 в Windows Server 2003 или Windows XP. Сведения о минимальном пакете обновления Windows, необходимом для версии установщика Windows, см. в разделе Требования к установщику Windows Run-Time.
Целевая платформа Windows
Header msi.h
Библиотека Msi.lib
DLL Msi.dll

См. также раздел

Функции состояния системы