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.

Tipo di SID Significato
NULL
NULL indica l'utente attualmente connesso.
SID utente
Specifica l'enumerazione per un determinato utente nel sistema. Un esempio di SID utente è "S-1-3-64-2415071341-1358098788-3127455600-2561".
 
Nota Impossibile usare la stringa SID speciale "S-1-5-18" (sistema) per enumerare i prodotti installati come per computer. Se dwContext è MSIINSTALLCONTEXT_MACHINE, szUserSid deve essere null.
 

[in] dwContext

Contesto di installazione dell'istanza del prodotto sottoposto a query.

Nome Significato
MSIINSTALLCONTEXT_USERMANAGED
Recupera lo stato del componente per ogni istanza gestita dall'utente del prodotto.
MSIINSTALLCONTEXT_USERUNMANAGED
Recupera lo stato del componente per l'istanza per utente non gestito del prodotto.
MSIINSTALLCONTEXT_MACHINE
Recupera lo stato del componente per l'istanza per computer del prodotto.

[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
INSTALLSTATE_LOCAL
Il componente viene installato localmente.
INSTALLSTATE_SOURCE
Il componente viene installato per l'esecuzione dall'origine.

Valore restituito

La funzione MsiQueryComponentState restituisce i valori seguenti.

Valore Significato
ERROR_ACCESS_DENIED
Il processo chiamante deve avere privilegi amministrativi per ottenere informazioni per un prodotto installato per un utente diverso dall'utente corrente.
ERROR_BAD_CONFIGURATION
I dati di configurazione sono danneggiati.
ERROR_INVALID_PARAMETER
Un parametro non valido è stato passato alla funzione.
ERROR_SUCCESS
La funzione è stata completata correttamente.
ERROR_UNKNOWN_COMPONENT
L'ID componente non identifica un componente noto.
ERROR_UNKNOWN_PRODUCT
Il codice prodotto non identifica un prodotto noto.
ERROR_FUNCTION_FAILED
Errori che non possono essere ascritti a qualsiasi codice di errore di Windows.
ERROR_MORE_DATA
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

Componente

Messaggi di errore visualizzati

Funzioni di selezione del programma di installazione

Non supportato in Windows Installer 2.0 e versioni precedenti

ProductCode