MsiSourceListEnumMediaDisksA, fonction (msi.h)
La fonction MsiSourceListEnumMediaDisks énumère la liste des disques inscrits pour la source multimédia pour un correctif ou un produit.
Syntaxe
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
);
Paramètres
[in] szProductCodeOrPatchCode
ProductCode ou GUID de correctif du produit ou du correctif. Utilisez une chaîne terminée par null. Si la chaîne contient plus de 39 caractères, la fonction échoue et retourne ERROR_INVALID_PARAMETER. Ce paramètre ne peut pas avoir la valeur NULL.
[in, optional] szUserSid
SID de chaîne qui spécifie le compte d’utilisateur qui contient le produit ou le correctif. Le SID n’est pas validé ou résolu. Un SID incorrect peut retourner ERROR_UNKNOWN_PRODUCT ou ERROR_UNKNOWN_PATCH. Lors du référencement d’un contexte d’ordinateur, szUserSID doit avoir la valeur NULL et dwContext doit être MSIINSTALLCONTEXT_MACHINE.
[in] dwContext
Ce paramètre spécifie le contexte du produit ou du correctif instance. Ce paramètre peut contenir l’une des valeurs suivantes.
[in] dwOptions
Valeur dwOptions qui spécifie la signification de szProductCodeOrPatchCode.
Indicateur | Signification |
---|---|
|
szProductCodeOrPatchCode est un GUID de code produit. |
|
szProductCodeOrPatchCode est un GUID de code correctif. |
[in] dwIndex
Index de la source à récupérer. Ce paramètre doit être égal à 0 (zéro) pour le premier appel à la fonction MsiSourceListEnumMediaDisks , puis incrémenté pour les appels suivants jusqu’à ce que la fonction retourne ERROR_NO_MORE_ITEMS.
[out, optional] pdwDiskId
Lors de l’entrée dans MsiSourceListEnumMediaDisks , ce paramètre fournit un pointeur vers un DWORD pour recevoir l’ID du disque énuméré. Ce paramètre est facultatif.
[out, optional] szVolumeLabel
Mémoire tampon de sortie qui reçoit l’étiquette de volume du disque énuméré. Cette mémoire tampon doit être suffisamment grande pour contenir les informations. Si la mémoire tampon est trop petite, la fonction retourne ERROR_MORE_DATA et définit *pcchVolumeLabel sur le nombre de TCHAR dans la valeur, sans inclure le caractère NULL de fin.
Si szVolumeLabel et pcchVolumeLabel sont tous deux définis sur NULL, la fonction retourne ERROR_SUCCESS si la valeur existe, sans récupérer la valeur.
[in, out, optional] pcchVolumeLabel
Pointeur vers une variable qui spécifie le nombre de TCHAR dans la mémoire tampon szVolumeLabel . Lorsque la fonction retourne, ce paramètre correspond au nombre de TCHAR dans la valeur reçue, sans inclure le caractère null de fin.
Ce paramètre ne peut être défini sur NULL que si szVolumeLabel a également la valeur NULL, sinon la fonction retourne ERROR_INVALID_PARAMETER.
[out, optional] szDiskPrompt
Mémoire tampon de sortie qui reçoit l’invite de disque du disque énuméré. Cette mémoire tampon doit être suffisamment grande pour contenir les informations. Si la mémoire tampon est trop petite, la fonction retourne ERROR_MORE_DATA et définit *pcchDiskPrompt sur le nombre de TCHAR dans la valeur, sans inclure le caractère NULL de fin.
Si szDiskPrompt a la valeur NULL et que pcchDiskPrompt est défini sur un pointeur valide, la fonction retourne ERROR_SUCCESS et définit *pcchDiskPrompt sur le nombre de TCHAR dans la valeur, sans inclure le caractère NULL de fin. La fonction peut ensuite être appelée à nouveau pour récupérer la valeur, avec la mémoire tampon szDiskPrompt suffisamment grande pour contenir *pcchDiskPrompt + 1 caractères.
Si szDiskPrompt et pcchDiskPrompt sont tous deux définis sur NULL, la fonction retourne ERROR_SUCCESS si la valeur existe, sans récupérer la valeur.
[in, out, optional] pcchDiskPrompt
Pointeur vers une variable qui spécifie le nombre de TCHAR dans la mémoire tampon szDiskPrompt . Lorsque la fonction retourne, ce paramètre est défini sur la taille de la valeur demandée, que la fonction copie ou non la valeur dans la mémoire tampon spécifiée. La taille est retournée sous la forme du nombre de TCHAR dans la valeur demandée, sans inclure le caractère null de fin.
Ce paramètre peut être défini sur NULL uniquement si szDiskPrompt a également la valeur NULL, sinon la fonction retourne ERROR_INVALID_PARAMETER.
Valeur retournée
La fonction MsiSourceListEnumMediaDisks retourne les valeurs suivantes.
Valeur | Signification |
---|---|
|
L’utilisateur n’a pas la possibilité de lire la source multimédia spécifiée ou le produit ou le correctif spécifié. Cela n’indique pas si une source multimédia, un produit ou un correctif est trouvé. |
|
Les données de configuration sont endommagées. |
|
Un paramètre non valide est passé à la fonction . |
|
Il n’y a plus de disques inscrits pour ce produit ou ce correctif. |
|
La valeur est énumérée avec succès. |
|
Le correctif est introuvable. |
|
Le produit est introuvable. |
|
La mémoire tampon fournie est trop petite pour contenir les informations demandées. |
|
Défaillance interne inattendue. |
Remarques
Lorsque vous effectuez plusieurs appels à MsiSourceListEnumMediaDisks pour énumérer toutes les sources d’un seul produit instance, chaque appel doit être effectué à partir du même thread.
Un administrateur peut énumérer les installations non managées et managées par utilisateur pour eux-mêmes, les installations par ordinateur et les installations gérées par utilisateur pour n’importe quel utilisateur. Un administrateur ne peut pas énumérer les installations non managées par utilisateur pour d’autres utilisateurs. Les non-administrateurs peuvent uniquement énumérer leurs propres installations non managées et managées et par ordinateur par utilisateur.
Notes
L’en-tête msi.h définit MsiSourceListEnumMediaDisks comme un alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows Installer 5.0 sur Windows Server 2012, Windows 8, Windows Server 2008 R2 ou Windows 7. Windows Installer 4.0 ou Windows Installer 4.5 sur Windows Server 2008 ou Windows Vista. Windows Installer 3.0 ou version ultérieure sur Windows Server 2003 ou Windows XP. Pour plus d’informations sur le Service Pack Windows requis par une version de Windows Installer, consultez Configuration requise pour le runtime Windows. |
Plateforme cible | Windows |
En-tête | msi.h |
Bibliothèque | Msi.lib |
DLL | Msi.dll |
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour