Share via


Funzione MsiEnumComponentsW (msi.h)

La funzione MsiEnumComponents enumera i componenti installati per tutti i prodotti. Questa funzione recupera un codice componente ogni volta che viene chiamato.

Sintassi

UINT MsiEnumComponentsW(
  [in]  DWORD  iComponentIndex,
  [out] LPWSTR lpComponentBuf
);

Parametri

[in] iComponentIndex

Specifica l'indice del componente da recuperare. Questo parametro deve essere zero per la prima chiamata alla funzione MsiEnumComponents e quindi incrementato per le chiamate successive. Poiché i componenti non sono ordinati, qualsiasi nuovo componente ha un indice arbitrario. Ciò significa che la funzione può restituire componenti in qualsiasi ordine.

[out] lpComponentBuf

Puntatore a un buffer che riceve il codice del componente. Questo buffer deve avere una lunghezza di 39 caratteri. I primi 38 caratteri sono per il GUID e l'ultimo carattere è per il carattere Null di terminazione.

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_NO_MORE_ITEMS
Non sono presenti componenti da restituire.
ERROR_NOT_ENOUGH_MEMORY
Il sistema non dispone di memoria sufficiente per completare l'operazione. Disponibile con Windows Server 2003.
ERROR_SUCCESS
È stato enumerato un valore.
 
 

Commenti

Per enumerare i componenti, un'applicazione deve inizialmente chiamare la funzione MsiEnumComponents con il parametro iComponentIndex impostato su zero. L'applicazione deve quindi incrementare il parametro iComponentIndex e chiamare MsiEnumComponents fino a quando non sono presenti altri componenti , ovvero finché la funzione non restituisce ERROR_NO_MORE_ITEMS.

Quando si effettuano più chiamate a MsiEnumComponents per enumerare tutti i componenti del prodotto, ogni chiamata deve essere eseguita dallo stesso thread.

Nota

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