Condividi tramite


Funzione MsiQueryComponentStateA (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 pubblicizzato 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 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 che contiene il componente.

[in] szUserSid

Specifica l'identificatore di sicurezza (SID) dell'account in cui è presente 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 Non è possibile usare la speciale stringa SID "S-1-5-18" (sistema) per enumerare i prodotti installati in base al 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 l'istanza gestita per utente del prodotto.
MSIINSTALLCONTEXT_USERUNMANAGED
Recupera lo stato del componente per l'istanza non gestita per utente 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 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
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 disporre di 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
Alla funzione è stato passato un parametro non valido.
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 attribuiti 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.

Osservazioni

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 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. 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 Requisiti di windows Run-Time.
piattaforma di destinazione Finestre
intestazione msi.h
libreria Msi.lib
dll Msi.dll

Vedere anche

componente

messaggi di errore visualizzati

Funzioni di selezione del programma di installazione

non supportato in Windows Installer 2.0 e versioni precedenti

ProductCode