Funzione MsiQueryFeatureStateExW (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 del computer o in qualsiasi contesto nell'account utente corrente o nel contesto gestito dall'utente in qualsiasi account utente diverso dall'utente corrente. Un utente deve avere privilegi amministrativi per ottenere informazioni per un prodotto installato per un utente diverso dall'utente corrente.

Sintassi

UINT MsiQueryFeatureStateExW(
  [in]            LPCWSTR           szProductCode,
  [in]            LPCWSTR           szUserSid,
  [in]            MSIINSTALLCONTEXT dwContext,
  [in]            LPCWSTR           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 Impossibile usare la stringa SID speciale s-1-5-18 (sistema) per enumerare le funzionalità dei 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 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 in 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à come trovato nella colonna Funzionalità della tabella Funzionalità.

[out, optional] pdwState

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

Valore Significato
INSTALLSTATE_ADVERTISED
Questa funzionalità viene 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 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_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.

Commenti

La funzione MsiQueryFeatureStateEx non convalida 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 in un prodotto installato nel contesto per utente non gestito per un account utente diverso dall'utente corrente, la funzione ha esito negativo. In questo caso la funzione restituisce ERROR_UNKNOWN_FEATURE o se il prodotto viene annunciato solo (non installato), ERROR_UNKNOWN_PRODUCT viene restituito.

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 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

   
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

Messaggi di errore visualizzati

Tabella delle funzionalità

MsiQueryFeatureState

Non supportato in Windows Installer 2.0 e versioni precedenti

ProductCode

Funzioni di stato del sistema