Función MsiSourceListEnumMediaDisksW (msi.h)
La función MsiSourceListEnumMediaDisks enumera la lista de discos registrados para el origen multimedia de una revisión o producto.
Sintaxis
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
);
Parámetros
[in] szProductCodeOrPatchCode
ProductCode o guid de revisión del producto o revisión. Use una cadena terminada en NULL. Si la cadena tiene más de 39 caracteres, se produce un error en la función y devuelve ERROR_INVALID_PARAMETER. Este parámetro no puede ser NULL.
[in, optional] szUserSid
SiD de cadena que especifica la cuenta de usuario que contiene el producto o la revisión. El SID no se valida ni se resuelve. Un SID incorrecto puede devolver ERROR_UNKNOWN_PRODUCT o ERROR_UNKNOWN_PATCH. Al hacer referencia a un contexto de máquina, szUserSID debe ser NULL y dwContext debe ser MSIINSTALLCONTEXT_MACHINE.
[in] dwContext
Este parámetro especifica el contexto de la instancia de producto o revisión. Este parámetro puede contener uno de los valores siguientes.
[in] dwOptions
Valor dwOptions que especifica el significado de szProductCodeOrPatchCode.
Marca | Significado |
---|---|
|
szProductCodeOrPatchCode es un GUID de código de producto. |
|
szProductCodeOrPatchCode es un GUID de código de revisión. |
[in] dwIndex
Índice del origen que se va a recuperar. Este parámetro debe ser 0 (cero) para la primera llamada a la función MsiSourceListEnumMediaDisks y, a continuación, incrementarse para las llamadas posteriores hasta que la función devuelva ERROR_NO_MORE_ITEMS.
[out, optional] pdwDiskId
En la entrada a MsiSourceListEnumMediaDisks , este parámetro proporciona un puntero a un DWORD para recibir el identificador del disco que se está enumerando. Este parámetro es opcional.
[out, optional] szVolumeLabel
Búfer de salida que recibe la etiqueta de volumen del disco que se está enumerando. Este búfer debe ser lo suficientemente grande como para contener la información. Si el búfer es demasiado pequeño, la función devuelve ERROR_MORE_DATA y establece *pcchVolumeLabel en el número de TCHAR en el valor, sin incluir el carácter NULL de terminación.
Si szVolumeLabel y pcchVolumeLabel se establecen en NULL, la función devuelve ERROR_SUCCESS si el valor existe, sin recuperar el valor.
[in, out, optional] pcchVolumeLabel
Puntero a una variable que especifica el número de TCHAR en el búfer szVolumeLabel . Cuando se devuelve la función, este parámetro es el número de TCHAR en el valor recibido, no incluido el carácter nulo de terminación.
Este parámetro solo se puede establecer en NULL si szVolumeLabel también es NULL; de lo contrario, la función devuelve ERROR_INVALID_PARAMETER.
[out, optional] szDiskPrompt
Búfer de salida que recibe la solicitud de disco del disco que se está enumerando. Este búfer debe ser lo suficientemente grande como para contener la información. Si el búfer es demasiado pequeño, la función devuelve ERROR_MORE_DATA y establece *pcchDiskPrompt en el número de TCHAR en el valor, no incluido el carácter NULL de terminación.
Si szDiskPrompt se establece en NULL y pcchDiskPrompt se establece en un puntero válido, la función devuelve ERROR_SUCCESS y establece *pcchDiskPrompt en el número de TCHAR en el valor, sin incluir el carácter NULL de terminación. A continuación, se puede llamar a la función de nuevo para recuperar el valor, con el búfer szDiskPrompt lo suficientemente grande como para contener *pcchDiskPrompt + 1 caracteres.
Si szDiskPrompt y pcchDiskPrompt se establecen en NULL, la función devuelve ERROR_SUCCESS si el valor existe, sin recuperar el valor.
[in, out, optional] pcchDiskPrompt
Puntero a una variable que especifica el número de TCHAR en el búfer szDiskPrompt . Cuando se devuelve la función, este parámetro se establece en el tamaño del valor solicitado, independientemente de si la función copia o no el valor en el búfer especificado. El tamaño se devuelve como el número de TCHAR en el valor solicitado, sin incluir el carácter nulo de terminación.
Este parámetro solo se puede establecer en NULL si szDiskPrompt también es NULL; de lo contrario, la función devuelve ERROR_INVALID_PARAMETER.
Valor devuelto
La función MsiSourceListEnumMediaDisks devuelve los valores siguientes.
Valor | Significado |
---|---|
|
El usuario no tiene la capacidad de leer el origen multimedia especificado ni el producto o la revisión especificados. Esto no indica si se encuentra un origen multimedia, un producto o una revisión. |
|
Los datos de configuración están dañados. |
|
Se pasa un parámetro no válido a la función . |
|
No hay más discos registrados para este producto o revisión. |
|
El valor se enumera correctamente. |
|
No se encuentra la revisión. |
|
No se encuentra el producto. |
|
El búfer proporcionado es demasiado pequeño para contener la información solicitada. |
|
Error interno inesperado. |
Comentarios
Al realizar varias llamadas a MsiSourceListEnumMediaDisks para enumerar todos los orígenes de una sola instancia de producto, cada llamada debe realizarse desde el mismo subproceso.
Un administrador puede enumerar las instalaciones por usuario no administradas y administradas por sí mismas, las instalaciones por máquina y las instalaciones administradas por usuario para cualquier usuario. Un administrador no puede enumerar las instalaciones no administradas por usuario para otros usuarios. Los no administradores solo pueden enumerar sus propias instalaciones por usuario no administradas y administradas y por máquina.
Nota
El encabezado msi.h define MsiSourceListEnumMediaDisks como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows Installer 5.0 en Windows Server 2012, Windows 8, Windows Server 2008 R2 o Windows 7. Windows Installer 4.0 o Windows Installer 4.5 en Windows Server 2008 o Windows Vista. Windows Installer 3.0, o posterior, en Windows Server 2003 o Windows XP. Consulte Windows Installer para obtener información sobre el Service Pack mínimo de Windows que requiere una versión de Windows Installer. |
Plataforma de destino | Windows |
Encabezado | msi.h |
Library | Msi.lib |
Archivo DLL | Msi.dll |
Consulte también
No se admite en Windows Installer 2.0 ni en versiones anteriores