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 |
---|---|
|
I dati di configurazione sono danneggiati. |
|
Alla funzione è stato passato un parametro non valido. |
|
Un buffer è troppo piccolo per contenere i dati richiesti. |
|
Non sono disponibili funzionalità da restituire. |
|
È stato enumerato un valore. |
|
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 |