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.

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 come per computer. Se dwContext è MSIINSTALLCONTEXT_MACHINE, szUserSid deve essere null.
 

[in] dwContext

Contesto di installazione dell'istanza del prodotto su cui viene eseguito la 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 ascritti a qualsiasi codice di errore di Windows.
ERROR_MORE_DATA
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

Componente

Messaggi di errore visualizzati

Funzioni di selezione del programma di installazione

Non supportato in Windows Installer 2.0 e versioni precedenti

ProductCode