Funzione MsiQueryComponentStateA (msi.h)
La funzione MsiQueryComponentState restituisce lo stato installato per un componente. Questa funzione può eseguire query per un componente di un'istanza di un prodotto installato in account utente diversi dall'utente corrente specificato che il prodotto non viene annunciato nel contesto per utente non gestito per ogni utente diverso dall'utente corrente. Il processo chiamante deve avere privilegi amministrativi per ottenere informazioni per un prodotto installato per un utente diverso dall'utente corrente.
Sintassi
UINT MsiQueryComponentStateA(
[in] LPCSTR szProductCode,
[in] LPCSTR szUserSid,
[in] MSIINSTALLCONTEXT dwContext,
[in] LPCSTR szComponentCode,
[out] INSTALLSTATE *pdwState
);
Parametri
[in] szProductCode
Specifica il GUID ProductCode per il prodotto contenente il componente.
[in] szUserSid
Specifica l'identificatore di sicurezza (SID) dell'account in cui esiste l'istanza del prodotto sottoposto a query. Se dwContext non è MSIINSTALLCONTEXT_MACHINE, null specifica l'utente corrente.
[in] dwContext
Contesto di installazione dell'istanza del prodotto sottoposto a query.
[in] szComponentCode
Specifica il componente sottoposto a query. GUID del codice componente del componente, come trovato nella colonna ComponentID della tabella Component.
[out] pdwState
Stato di installazione del componente per l'istanza del prodotto specificata. Questo parametro può restituire uno dei valori seguenti o Null.
Valore | Significato |
---|---|
|
Il componente viene installato localmente. |
|
Il componente viene installato per l'esecuzione dall'origine. |
Valore restituito
La funzione MsiQueryComponentState restituisce i valori seguenti.
Valore | Significato |
---|---|
|
Il processo chiamante deve avere privilegi amministrativi per ottenere informazioni per un prodotto installato per un utente diverso dall'utente corrente. |
|
I dati di configurazione sono danneggiati. |
|
Un parametro non valido è stato passato alla funzione. |
|
La funzione è stata completata correttamente. |
|
L'ID componente non identifica un componente noto. |
|
Il codice prodotto non identifica un prodotto noto. |
|
Errori che non possono essere ascritti a qualsiasi codice di errore di Windows. |
|
Buffer troppo piccolo per ottenere il SID utente. |
Per altre informazioni, vedere Messaggi di errore visualizzati.
Commenti
Nota
L'intestazione msi.h definisce MsiQueryComponentState come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante preprocessore UNICODE. La combinazione dell'utilizzo dell'alias di codifica neutrale con il codice che non è neutrale dalla codifica può causare errori di corrispondenza che causano errori di compilazione o runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzione.
Requisiti
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. Per informazioni sul Service Pack minimo di Windows Richiesto da una versione di Windows Installer, vedere i requisiti di Windows Installer Run-Time. |
Piattaforma di destinazione | Windows |
Intestazione | msi.h |
Libreria | Msi.lib |
DLL | Msi.dll |
Vedi anche
Messaggi di errore visualizzati
Funzioni di selezione del programma di installazione
Non supportato in Windows Installer 2.0 e versioni precedenti