Функция MsiSourceListEnumMediaDisksA (msi.h)
Функция MsiSourceListEnumMediaDisks перечисляет список дисков, зарегистрированных для источника мультимедиа для исправления или продукта.
Синтаксис
UINT MsiSourceListEnumMediaDisksA(
[in] LPCSTR szProductCodeOrPatchCode,
[in, optional] LPCSTR szUserSid,
[in] MSIINSTALLCONTEXT dwContext,
[in] DWORD dwOptions,
[in] DWORD dwIndex,
[out, optional] LPDWORD pdwDiskId,
[out, optional] LPSTR szVolumeLabel,
[in, out, optional] LPDWORD pcchVolumeLabel,
[out, optional] LPSTR szDiskPrompt,
[in, out, optional] LPDWORD pcchDiskPrompt
);
Параметры
[in] szProductCodeOrPatchCode
Код продукта или guid исправления продукта или исправления. Используйте строку, завершаемую null. Если строка длиннее 39 символов, функция завершается сбоем и возвращает ERROR_INVALID_PARAMETER. Этот параметр не может иметь значение NULL.
[in, optional] szUserSid
Строковый идентификатор безопасности, указывающий учетную запись пользователя, содержащую продукт или исправление. Идентификатор безопасности не проверяется и не разрешается. Неправильный идентификатор безопасности может возвращать ERROR_UNKNOWN_PRODUCT или ERROR_UNKNOWN_PATCH. При ссылке на контекст компьютера szUserSID должен иметь значение NULL , а параметр dwContext должен быть MSIINSTALLCONTEXT_MACHINE.
[in] dwContext
Этот параметр указывает контекст экземпляра продукта или исправления. Этот параметр может содержать одно из следующих значений.
[in] dwOptions
Значение dwOptions , указывающее значение szProductCodeOrPatchCode.
Flag | Значение |
---|---|
|
szProductCodeOrPatchCode — это GUID кода продукта. |
|
szProductCodeOrPatchCode — это GUID кода исправления. |
[in] dwIndex
Индекс извлекаемого источника. Этот параметр должен иметь значение 0 (ноль) для первого вызова функции MsiSourceListEnumMediaDisks , а затем увеличиваться для последующих вызовов, пока функция не вернет ERROR_NO_MORE_ITEMS.
[out, optional] pdwDiskId
При входе в MsiSourceListEnumMediaDisks этот параметр предоставляет указатель на DWORD для получения идентификатора перечисляемого диска. Этот параметр является необязательным.
[out, optional] szVolumeLabel
Выходной буфер, получающий метку тома перечисляемого диска. Этот буфер должен быть достаточно большим, чтобы содержать сведения. Если буфер слишком мал, функция возвращает ERROR_MORE_DATA и присваивает *pcchVolumeLabel числу TCHAR в значении, не включая завершающий символ NULL.
Если значения szVolumeLabel и pcchVolumeLabel имеют значение NULL, функция возвращает ERROR_SUCCESS, если значение существует, без получения значения.
[in, out, optional] pcchVolumeLabel
Указатель на переменную, указывающую число TCHAR в буфере szVolumeLabel . При возврате функции этот параметр представляет собой число TCHAR в полученном значении, не включая завершающий символ NULL.
Для этого параметра можно задать значение NULL , только если szVolumeLabel также имеет значение NULL, в противном случае функция возвращает ERROR_INVALID_PARAMETER.
[out, optional] szDiskPrompt
Выходной буфер, получающий запрос диска перечисляемого диска. Этот буфер должен быть достаточно большим, чтобы содержать сведения. Если буфер слишком мал, функция возвращает ERROR_MORE_DATA и присваивает *pcchDiskPrompt числу TCHAR в значении, не включая завершающий символ NULL.
Если для параметра szDiskPrompt задано значение NULL , а для pcchDiskPrompt — допустимый указатель, функция возвращает ERROR_SUCCESS и присваивает *pcchDiskPrompt число TCHAR в значении, не включая завершающий символ NULL. Затем функцию можно вызвать снова, чтобы получить значение, с буфером szDiskPrompt достаточно большим, чтобы содержать *pcchDiskPrompt + 1 символов.
Если для szDiskPrompt и pcchDiskPrompt задано значение NULL, функция возвращает ERROR_SUCCESS, если значение существует, без извлечения значения.
[in, out, optional] pcchDiskPrompt
Указатель на переменную, указывающую количество TCHAR в буфере szDiskPrompt . Когда функция возвращает значение, для этого параметра устанавливается размер запрошенного значения независимо от того, копирует ли функция значение в указанный буфер. Размер возвращается как число TCHAR в запрошенном значении, не включая завершающий символ NULL.
Для этого параметра можно задать значение NULL , только если szDiskPrompt также имеет значение NULL, в противном случае функция возвращает ERROR_INVALID_PARAMETER.
Возвращаемое значение
Функция MsiSourceListEnumMediaDisks возвращает следующие значения.
Значение | Значение |
---|---|
|
Пользователь не имеет возможности прочитать указанный источник мультимедиа, указанный продукт или исправление. Это не указывает, найден ли источник мультимедиа, продукт или исправление. |
|
Данные конфигурации повреждены. |
|
В функцию передается недопустимый параметр. |
|
Больше нет дисков, зарегистрированных для этого продукта или исправления. |
|
Значение перечислено успешно. |
|
Исправление не найдено. |
|
Продукт не найден. |
|
Предоставленный буфер слишком мал, чтобы содержать запрошенные сведения. |
|
Непредвиденный внутренний сбой. |
Комментарии
При выполнении нескольких вызовов MsiSourceListEnumMediaDisks для перечисления всех источников для одного экземпляра продукта каждый вызов должен выполняться из одного потока.
Администратор может перечислить неуправляемые и управляемые установки для каждого пользователя, установки для каждого компьютера и управляемые установки для каждого пользователя. Администратор не может перечислить неуправляемые установки для отдельных пользователей для других пользователей. Пользователи, не являющиеся администраторами, могут перечислять только собственные неуправляемые и управляемые установки для каждого пользователя, а также установки на отдельный компьютер.
Примечание
Заголовок msi.h определяет MsiSourceListEnumMediaDisks в качестве псевдонима, который автоматически выбирает версию 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 и более ранних версий