Funzione MsiQueryComponentStateW (msi.h)
La funzione MsiQueryComponentState restituisce lo stato installato per un componente. Questa funzione può eseguire una query per un componente di un'istanza di un prodotto installato in account utente diversi dall'utente corrente a condizione che il prodotto non venga annunciato nel contesto non gestito per utente per un account utente diverso dall'utente corrente. Il processo chiamante deve disporre di privilegi amministrativi per ottenere informazioni per un prodotto installato per un utente diverso dall'utente corrente.
Sintassi
UINT MsiQueryComponentStateW(
[in] LPCWSTR szProductCode,
[in] LPCWSTR szUserSid,
[in] MSIINSTALLCONTEXT dwContext,
[in] LPCWSTR szComponentCode,
[out] INSTALLSTATE *pdwState
);
Parametri
[in] szProductCode
Specifica il GUID ProductCode per il prodotto che contiene il componente.
[in] szUserSid
Specifica l'identificatore di sicurezza (SID) dell'account in cui è presente l'istanza del prodotto su cui è in corso la query. Se dwContext non è MSIINSTALLCONTEXT_MACHINE, null specifica l'utente corrente.
[in] dwContext
Contesto di installazione dell'istanza del prodotto su cui viene eseguito la query.
[in] szComponentCode
Specifica il componente sottoposto a query. GUID del codice componente del componente, come indicato 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 disporre di privilegi amministrativi per ottenere informazioni per un prodotto installato per un utente diverso dall'utente corrente. |
|
I dati di configurazione sono danneggiati. |
|
Alla funzione è stato passato un parametro non valido. |
|
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 dell'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 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. 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
Messaggi di errore visualizzati
Funzioni di selezione del programma di installazione
Non supportato in Windows Installer 2.0 e versioni precedenti