Condividi tramite


Funzione MsiQueryFeatureStateExA (msi.h)

La funzione MsiQueryFeatureStateEx restituisce lo stato installato per una funzionalità del prodotto. Questa funzione può essere usata per eseguire query su qualsiasi funzionalità di un'istanza di un prodotto installato nell'account computer o in qualsiasi contesto nell'account utente corrente o nel contesto gestito per utente in qualsiasi account utente diverso dall'utente corrente. Un utente deve disporre di privilegi amministrativi per ottenere informazioni per un prodotto installato per un utente diverso dall'utente corrente.

Sintassi

UINT MsiQueryFeatureStateExA(
  [in]            LPCSTR            szProductCode,
  [in]            LPCSTR            szUserSid,
  [in]            MSIINSTALLCONTEXT dwContext,
  [in]            LPCSTR            szFeature,
  [out, optional] INSTALLSTATE      *pdwState
);

Parametri

[in] szProductCode

ProductCode GUID del prodotto che contiene la funzionalità di interesse.

[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, un valore 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 le funzionalità dei 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 della funzionalità per l'istanza gestita dall'utente del prodotto.
MSIINSTALLCONTEXT_USERUNMANAGED
Recupera lo stato della funzionalità per l'istanza non gestita per utente del prodotto.
Nota Quando la query viene eseguita su un prodotto installato nel contesto per utente non gestito per un account utente diverso dall'utente corrente, la funzione ha esito negativo.
 
MSIINSTALLCONTEXT_MACHINE
Recupera lo stato della funzionalità per l'istanza per computer del prodotto.

[in] szFeature

Specifica la funzionalità sottoposta a query. Identificatore della funzionalità disponibile nella colonna feature della tabella feature.

[out, optional] pdwState

Stato di installazione della funzionalità per l'istanza del prodotto specificata. Questo parametro può restituire uno dei valori seguenti o Null.

Valore Significato
INSTALLSTATE_ADVERTISED
Questa funzionalità è pubblicizzata.
INSTALLSTATE_LOCAL
La funzionalità viene installata in locale.
INSTALLSTATE_SOURCE
La funzionalità viene installata per l'esecuzione dall'origine.

Valore restituito

La funzione msiQueryFeatureStateEx restituisce i valori seguenti.

Valore Significato
ERROR_ACCESS_DENIED
Un utente 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_FEATURE
L'ID funzionalità non identifica una funzionalità nota.
ERROR_UNKNOWN_PRODUCT
Il codice prodotto non identifica un prodotto noto.
ERROR_FUNCTION_FAILED
Errore interno imprevisto.
 

Per altre informazioni, vedere Messaggi di errore visualizzati.

Osservazioni

La funzione msiQueryFeatureStateEx non verifica che la funzionalità sia effettivamente accessibile. La funzione msiQueryFeatureStateEx non convalida l'ID funzionalità. ERROR_UNKNOWN_FEATURE viene restituito per qualsiasi ID funzionalità sconosciuto. Quando la query viene eseguita su un prodotto installato nel contesto non gestito per utente per un account utente diverso dall'utente corrente, la funzione ha esito negativo. In questo caso la funzione restituisce ERROR_UNKNOWN_FEATUREo se il prodotto viene annunciato solo (non installato), viene restituito ERROR_UNKNOWN_PRODUCT.

Nota

L'intestazione msi.h definisce MsiQueryFeatureStateEx 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

messaggi di errore visualizzati

tabella delle funzionalità

MsiQueryFeatureState

non supportato in Windows Installer 2.0 e versioni precedenti

ProductCode

funzioni di stato del sistema