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 funzionalità 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, solo i primi MAX_FEATURE_CHARS caratteri vengono copiati nel buffer.

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.
 
 

Commenti

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

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

Funzioni di stato del sistema