Funzione MsiGetComponentPathExW (msi.h)
La funzione MsiGetComponentPathEx
Questa funzione estende la funzione MsiGetComponentPath esistente per consentire la ricerca di componenti tra account utente e contesti di installazione.
Sintassi
INSTALLSTATE MsiGetComponentPathExW(
[in] LPCWSTR szProductCode,
[in] LPCWSTR szComponentCode,
[in, optional] LPCWSTR szUserSid,
[in, optional] MSIINSTALLCONTEXT dwContext,
[out, optional] LPWSTR lpOutPathBuffer,
[in, out, optional] LPDWORD pcchOutPathBuffer
);
Parametri
[in] szProductCode
Valore stringa con terminazione Null che specifica il GUID del codice prodotto di un'applicazione. La funzione ottiene il percorso dei componenti installati usati dall'applicazione.
[in] szComponentCode
Valore stringa con terminazione Null che specifica un GUID del codice del componente. La funzione ottiene il percorso di un componente installato con questo codice componente.
[in, optional] szUserSid
Valore stringa con terminazione Null che specifica l'identificatore di sicurezza (SID) per un utente nel sistema. La funzione ottiene i percorsi dei componenti installati delle applicazioni installate negli account utente identificati da questo SID. La stringa SID speciale s-1-1-0 (Everyone) specifica tutti gli utenti nel sistema. Se questo parametro è NULL, la funzione ottiene il percorso di un componente installato solo per l'utente attualmente connesso.
[in, optional] dwContext
Flag che specifica il contesto di installazione. La funzione ottiene i percorsi dei componenti installati delle applicazioni installate nel contesto di installazione specificato. Questo parametro può essere una combinazione dei valori seguenti.
[out, optional] lpOutPathBuffer
Valore stringa che riceve il percorso del componente. Questo parametro può essere NULL. Se il componente è una chiave del Registro di sistema, le radici del Registro di sistema vengono rappresentate numericamente. Se si tratta di un percorso della sottochiave del Registro di sistema, è presente una barra rovesciata alla fine del percorso della chiave. Se si tratta di un percorso di chiave del valore del Registro di sistema, non è presente alcuna barra rovesciata alla fine. Ad esempio, un percorso del Registro di sistema in un sistema operativo a 32 bit di HKEY_CURRENT_USER\SOFTWARE\Microsoft viene restituito come "01:\SOFTWARE\Microsoft". Le radici del Registro di sistema restituite nei sistemi operativi a 32 bit sono definite come illustrato nella tabella seguente.
Radice | Significato |
---|---|
|
00 |
|
01 |
|
02 |
|
03 |
[in, out, optional] pcchOutPathBuffer
Puntatore a una posizione che riceve le dimensioni del buffer, in TCHAR, a cui punta il parametro szPathBuf. Il valore in questa posizione deve essere impostato sul numero di TCHAR nella stringa, incluso il carattere Null di terminazione. Se la dimensione del buffer è troppo piccola, questo parametro riceve la lunghezza del valore stringa senza includere il carattere null di terminazione nel conteggio.
Valore restituito
La funzione msiGetComponentPathEx
Valore | Significato |
---|---|
|
Il componente richiesto è disabilitato nel computer. |
|
I dati di configurazione sono danneggiati. |
|
Il componente non è installato. |
|
Uno dei parametri della funzione non è valido. |
|
Il componente viene installato localmente. |
|
Il componente viene installato per l'esecuzione dall'origine. |
|
L'origine del componente non è accessibile. |
|
Il codice prodotto o l'ID componente è sconosciuto. |
|
Il componente è danneggiato o parzialmente mancante in qualche modo e richiede la riparazione. |
Osservazioni
La funzione
- INSTALLSTATE_ABSENT
L'applicazione non ha verificato correttamente che la funzionalità sia stata installata chiamando MsiUseFeature e, se necessario, MsiConfigureFeature.
- INSTALLSTATE_UNKNOWN
La funzionalità non viene pubblicata. L'applicazione deve essere stata determinata in precedenza chiamando MsiQueryFeatureState o MsiEnumFeatures. L'applicazione effettua queste chiamate durante l'inizializzazione. Un'applicazione deve usare solo le funzionalità note per la pubblicazione. Poiché INSTALLSTATE_UNKNOWN dovrebbe essere stato restituito anche da MsiUseFeature, MsiUseFeature non è stato chiamato oppure il relativo valore restituito non è stato controllato correttamente.
Nota
L'intestazione msi.h definisce MsiGetComponentPathEx 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. 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
funzioni di