Condividi tramite


Funzione MsiEnumFeaturesA (msi.h)

La funzione MsiEnumFeatures enumera le funzionalità pubblicate per un determinato prodotto. Questa funzione recupera un ID funzionalità ogni volta che viene chiamato.

Sintassi

UINT MsiEnumFeaturesA(
  [in]  LPCSTR szProduct,
  [in]  DWORD  iFeatureIndex,
  [out] LPSTR  lpFeatureBuf,
  [out] LPSTR  lpParentBuf
);

Parametri

[in] szProduct

Stringa con terminazione Null che specifica il codice prodotto del prodotto le cui caratteristiche devono essere enumerate.

[in] iFeatureIndex

Specifica l'indice della funzionalità da recuperare. Questo parametro deve essere zero per la prima chiamata alla funzione MsiEnumFeatures e quindi incrementato per le chiamate successive. Poiché le funzionalità non sono ordinate, qualsiasi nuova funzionalità ha un indice arbitrario. Ciò significa che la funzione può restituire funzionalità in qualsiasi ordine.

[out] lpFeatureBuf

Puntatore a un buffer che riceve l'ID funzionalità. Le dimensioni del buffer devono contenere un valore stringa di lunghezza MAX_FEATURE_CHARS+1. La funzione restituisce ERROR_MORE_DATA se la lunghezza dell'ID funzionalità supera MAX_FEATURE_CHARS.

[out] lpParentBuf

Puntatore a un buffer che riceve l'ID funzionalità dell'elemento padre della funzionalità. Le dimensioni del buffer devono contenere un valore stringa di lunghezza MAX_FEATURE_CHARS+1. Se la lunghezza dell'ID funzionalità della funzionalità padre supera MAX_FEATURE_CHARS, vengono copiati nel buffer solo i primi MAX_FEATURE_CHARS caratteri.

Valore restituito

Valore Significato
ERROR_BAD_CONFIGURATION
I dati di configurazione sono danneggiati.
ERROR_INVALID_PARAMETER
Alla funzione è stato passato un parametro non valido.
ERROR_MORE_DATA
Un buffer è troppo piccolo per contenere i dati richiesti.
ERROR_NO_MORE_ITEMS
Non sono disponibili funzionalità da restituire.
ERROR_SUCCESS
È stato enumerato un valore.
ERROR_UNKNOWN_PRODUCT
Il prodotto specificato è sconosciuto.
 
 

Osservazioni

Per enumerare le funzionalità, un'applicazione deve inizialmente chiamare la funzione MsiEnumFeatures con il parametro iFeatureIndex impostato su zero. L'applicazione deve quindi incrementare il parametro iFeatureIndex e chiamare MsiEnumFeatures fino a quando non sono presenti altre funzionalità( ovvero fino a quando la funzione non restituisce ERROR_NO_MORE_ITEMS).

Nota

L'intestazione msi.h definisce MsiEnumFeatures 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. Windows Installer in Windows Server 2003 o Windows XP. 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

funzioni di stato del sistema