Funzione MsiSourceListGetInfoA (msi.h)

La funzione MsiSourceListGetInfo recupera informazioni sull'elenco di origine per un prodotto o una patch in un contesto specifico.

Sintassi

UINT MsiSourceListGetInfoA(
  [in]                LPCSTR            szProductCodeOrPatchCode,
  [in, optional]      LPCSTR            szUserSid,
  [in]                MSIINSTALLCONTEXT dwContext,
  [in]                DWORD             dwOptions,
  [in]                LPCSTR            szProperty,
  [out, optional]     LPSTR             szValue,
  [in, out, optional] LPDWORD           pcchValue
);

Parametri

[in] szProductCodeOrPatchCode

GUID ProductCode o 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

Questo parametro può essere un identificatore di sicurezza stringa (SID) 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 di computer, szUserSID deve essere NULL e dwContext deve essere MSIINSTALLCONTEXT_MACHINE.

Tipo di SID Significato
NULL
NULL indica l'utente attualmente connesso. Quando si fa riferimento all'account utente corrente, szUserSID può essere NULL e dwContext può essere MSIINSTALLCONTEXT_USERMANAGED o MSIINSTALLCONTEXT_USERUNMANAGED.
SID utente
Specifica l'enumerazione per un utente specifico nel sistema. Un esempio di SID utente è "S-1-3-64-2415071341-1358098788-312745600-2561".
 
Nota Impossibile usare la stringa SID speciale s-1-5-18 (sistema) per enumerare i prodotti o le patch installate come per computer. L'impostazione del valore SID su s-1-5-18 restituisce ERROR_INVALID_PARAMETER.
 
Nota La stringa SID speciale s-1-1-0 (tutti) non deve essere usata. L'impostazione del valore SID su s-1-1-0 ha esito negativo e restituisce ERROR_INVALID_PARAM.
 

[in] dwContext

Questo parametro specifica il contesto dell'istanza di prodotto o patch. Questo parametro può contenere uno dei valori seguenti.

Tipo di contesto Significato
MSIINSTALLCONTEXT_USERMANAGED
L'istanza del prodotto o della patch esiste nel contesto gestito dall'utente.
MSIINSTALLCONTEXT_USERUNMANAGED
L'istanza di prodotto o patch esiste nel contesto per utente non gestito.
MSIINSTALLCONTEXT_MACHINE
L'istanza di prodotto o patch esiste nel contesto per computer.

[in] dwOptions

Il valore dwOptions specifica il significato di szProductCodeOrPatchCode.

Flag Significato
MSICODE_PRODUCT
szProductCodeOrPatchCode è un GUID del codice prodotto.
MSICODE_PATCH
szProductCodeOrPatchCode è un GUID del codice patch.

[in] szProperty

Stringa con terminazione null che specifica il valore della proprietà da recuperare. Il parametro szProperty può essere uno dei valori seguenti.

Nome Significato
INSTALLPROPERTY_MEDIAPACKAGEPATH
"MediaPackagePath"
Percorso relativo alla radice del supporto di installazione.
INSTALLPROPERTY_DISKPROMPT
"DiskPrompt"
Modello di richiesta usato quando viene richiesto all'utente di installare il supporto di installazione.
INSTALLPROPERTY_LASTUSEDSOURCE
"LastUsedSource"
Posizione di origine usata più di recente per il prodotto.
INSTALLPROPERTY_LASTUSEDTYPE
"LastUsedType"
Un valore "n" se l'ultima origine usata è un percorso di rete. Oggetto "u" se l'ultima origine usata è un percorso URL. "m" se l'ultima origine usata è un supporto. Stringa vuota ("") se non esiste un'ultima origine usata.
INSTALLPROPERTY_PACKAGENAME
"PackageName"
Nome del pacchetto o della patch di Windows Installer nell'origine.

[out, optional] szValue

Buffer di output che riceve le informazioni. Questo buffer deve essere abbastanza grande per contenere le informazioni. Se il buffer è troppo piccolo, la funzione restituisce ERROR_MORE_DATA e imposta *pcchValue sul numero di TCHAR nel valore, non incluso il carattere NULL terminante.

Se szValue è impostato su NULL e pcchValue è impostato su un puntatore valido, la funzione restituisce ERROR_SUCCESS e imposta *pcchValue sul numero di TCHAR nel valore, non incluso il carattere NULL terminante. La funzione può quindi essere chiamata di nuovo per recuperare il valore, con buffer szValue abbastanza grande per contenere *pcchValue + 1 caratteri.

Se szValue e pcchValue sono entrambi impostati su NULL, la funzione restituisce ERROR_SUCCESS se il valore esiste, senza recuperare il valore.

[in, out, optional] pcchValue

Puntatore a una variabile che specifica il numero di TCHAR nel buffer szValue . Quando la funzione restituisce, questo parametro viene impostato sulla dimensione del valore richiesto se la funzione copia il valore nel buffer specificato. La dimensione viene restituita come numero di TCHAR nel valore richiesto, non incluso il carattere Null terminante.

Questo parametro può essere impostato su NULL solo se szValue è null, altrimenti la funzione restituisce ERROR_INVALID_PARAMETER.

Valore restituito

La funzione MsiSourceListGetInfo restituisce i valori seguenti.

Valore Significato
ERROR_ACCESS_DENIED
L'utente non ha la possibilità di leggere l'elenco di origine specificato. Questo non indica se viene trovato un prodotto o una patch.
ERROR_BAD_CONFIGURATION
I dati di configurazione sono danneggiati.
ERROR_INVALID_PARAMETER
Un parametro non valido viene passato alla funzione.
ERROR_MORE_DATA
Il buffer fornito non è sufficiente per contenere i dati richiesti.
ERROR_SUCCESS
La proprietà viene recuperata correttamente.
ERROR_UNKNOWN_PATCH
La patch non viene trovata.
ERROR_UNKNOWN_PRODUCT
Il prodotto non viene trovato.
ERROR_UNKNOWN_PROPERTY
La proprietà di origine non viene trovata.
ERROR_FUNCTION_FAILED
Errore interno imprevisto.

Commenti

Gli amministratori possono modificare l'installazione di un prodotto o di un'istanza di patch presente nel contesto del computer o nel proprio contesto per utente (gestito o non gestito). Possono modificare l'installazione di un prodotto o di un'istanza di patch presente nel contesto gestito dall'utente. Gli amministratori non possono modificare l'installazione di un altro utente di un prodotto o di un'istanza di patch presente nel contesto non gestito di un altro utente.

Gli amministratori non possono modificare l'installazione di un prodotto o di un'istanza di patch presente nel contesto per utente di un altro utente (gestito o non gestito). Possono modificare l'installazione di un prodotto o di un'istanza di patch presente nel proprio contesto per utente non gestito. Possono modificare l'installazione di un prodotto o di un'istanza di patch nel contesto del computer o nel proprio contesto gestito per utente solo se sono abilitati per cercare un prodotto o un'origine patch. Gli utenti possono essere abilitati per cercare le origini impostando i criteri. Per altre informazioni, vedere DisableBrowse, AllowLockdownBrowse e Criteri AlwaysInstallElevated .

Nota

L'intestazione msi.h definisce MsiSourceListGetInfo 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 che non è indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzioni.

Requisiti

   
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 Windows Installer Run-Time Requirements .See the Windows Installer requirements for information about the minimum Windows Service Pack that is required by a Windows Installer version.
Piattaforma di destinazione Windows
Intestazione msi.h
Libreria Msi.lib
DLL Msi.dll

Vedi anche

MsiSourceListSetInfo

Non supportato in Windows Installer 2.0 e versioni precedenti

ProductCode