Funzione MsiSourceListEnumMediaDisksA (msi.h)
La funzione MsiSourceListEnumMediaDisks enumera l'elenco dei dischi registrati per l'origine multimediale per una patch o un prodotto.
Sintassi
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
);
Parametri
[in] szProductCodeOrPatchCode
ProductCode o GUID patch del prodotto o della patch. Usare una stringa con terminazione Null. Se la stringa è più lunga di 39 caratteri, la funzione ha esito negativo e restituisce ERROR_INVALID_PARAMETER. Questo parametro non può essere NULL.
[in, optional] szUserSid
SID stringa che specifica l'account utente che contiene il prodotto o la patch. Il SID non viene convalidato o risolto. Un SID non corretto può restituire ERROR_UNKNOWN_PRODUCT o ERROR_UNKNOWN_PATCH. Quando si fa riferimento a un contesto del computer, szUserSID deve essere NULL e dwContext deve essere MSIINSTALLCONTEXT_MACHINE.
[in] dwContext
Questo parametro specifica il contesto dell'istanza del prodotto o della patch. Questo parametro può contenere uno dei valori seguenti.
[in] dwOptions
Valore
Bandiera | Significato |
---|---|
|
szProductCodeOrPatchCode è un GUID del codice prodotto. |
|
szProductCodeOrPatchCode è un GUID del codice patch. |
[in] dwIndex
Indice dell'origine da recuperare. Questo parametro deve essere 0 (zero) per la prima chiamata alla MsiSourceListEnumMediaDisks funzione e quindi incrementato per le chiamate successive fino a quando la funzione non restituisce ERROR_NO_MORE_ITEMS.
[out, optional] pdwDiskId
Nella voce per MsiSourceListEnumMediaDisks questo parametro fornisce un puntatore a un DWORD per ricevere l'ID del disco da enumerare. Questo parametro è facoltativo.
[out, optional] szVolumeLabel
Buffer di output che riceve l'etichetta del volume del disco da enumerare. Questo buffer deve essere sufficientemente grande da contenere le informazioni. Se il buffer è troppo piccolo, la funzione restituisce ERROR_MORE_DATA e imposta *pcchVolumeLabel al numero di TCHAR nel valore, senza includere il carattere NULL di terminazione.
Se szVolumeLabel e pcchVolumeLabel sono entrambi impostati su null, la funzione restituisce ERROR_SUCCESS se il valore esiste, senza recuperare il valore.
[in, out, optional] pcchVolumeLabel
Puntatore a una variabile che specifica il numero di
Questo parametro può essere impostato su NULL solo se szVolumeLabel è null, altrimenti la funzione restituisce ERROR_INVALID_PARAMETER.
[out, optional] szDiskPrompt
Buffer di output che riceve il prompt del disco del disco da enumerare. Questo buffer deve essere sufficientemente grande da contenere le informazioni. Se il buffer è troppo piccolo, la funzione restituisce ERROR_MORE_DATA e imposta *pcchDiskPrompt sul numero di TCHAR nel valore, senza includere il carattere NULL di terminazione.
Se il
Se szDiskPrompt e pcchDiskPrompt sono entrambi impostati su null, la funzione restituisce ERROR_SUCCESS se il valore esiste, senza recuperare il valore.
[in, out, optional] pcchDiskPrompt
Puntatore a una variabile che specifica il numero di
Questo parametro può essere impostato su NULL solo se szDiskPrompt è null, altrimenti la funzione restituisce ERROR_INVALID_PARAMETER.
Valore restituito
La funzione msiSourceListEnumMediaDisks
Valore | Significato |
---|---|
|
L'utente non ha la possibilità di leggere l'origine multimediale specificata o il prodotto o la patch specificati. Ciò non indica se viene trovata un'origine multimediale, un prodotto o una patch. |
|
I dati di configurazione sono danneggiati. |
|
Alla funzione viene passato un parametro non valido. |
|
Non ci sono più dischi registrati per questo prodotto o patch. |
|
Il valore viene enumerato correttamente. |
|
La patch non viene trovata. |
|
Il prodotto non viene trovato. |
|
Il buffer fornito è troppo piccolo per contenere le informazioni richieste. |
|
Errore interno imprevisto. |
Osservazioni
Quando si eseguono più chiamate a MsiSourceListEnumMediaDisks per enumerare tutte le origini per una singola istanza del prodotto, ogni chiamata deve essere eseguita dallo stesso thread.
Un amministratore può enumerare le installazioni per utente non gestite e gestite per se stessi, le installazioni per computer e le installazioni gestite per utente per ogni utente. Un amministratore non può enumerare le installazioni non gestite per utente per altri utenti. Gli utenti non amministratori possono enumerare solo le proprie installazioni non gestite e gestite per utente e installazioni per computer.
Nota
L'intestazione msi.h definisce MsiSourceListEnumMediaDisks come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Windows Installer 5.0 in Windows Server 2012, Windows 8, Windows Server 2008 R2 o Windows 7. Windows Installer 4.0 o Windows Installer 4.5 in Windows Server 2008 o Windows Vista. Windows Installer 3.0 o versione successiva in Windows Server 2003 o Windows XP. Per informazioni sul Service Pack minimo di Windows richiesto da una versione di Windows Installer, vedere Requisiti di windows Run-Time. |
piattaforma di destinazione | Finestre |
intestazione |
msi.h |
libreria |
Msi.lib |
dll | Msi.dll |
Vedere anche
non supportato in Windows Installer 2.0 e versioni precedenti