Функция MsiSourceListEnumMediaDisksW (msi.h)
Функция MsiSourceListEnumMediaDisks перечисляет список дисков, зарегистрированных для источника мультимедиа для исправления или продукта.
Синтаксис
UINT MsiSourceListEnumMediaDisksW(
[in] LPCWSTR szProductCodeOrPatchCode,
[in, optional] LPCWSTR szUserSid,
[in] MSIINSTALLCONTEXT dwContext,
[in] DWORD dwOptions,
[in] DWORD dwIndex,
[out, optional] LPDWORD pdwDiskId,
[out, optional] LPWSTR szVolumeLabel,
[in, out, optional] LPDWORD pcchVolumeLabel,
[out, optional] LPWSTR szDiskPrompt,
[in, out, optional] LPDWORD pcchDiskPrompt
);
Параметры
[in] szProductCodeOrPatchCode
Идентификатор GUID productcode или patch продукта или исправления. Используйте строку, завершаемую 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 или Юникод этой функции на основе определения константы препроцессора UNICODE. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Установщик 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 и более ранних версий