Funzione MsiEnumClientsA (msi.h)
La funzione MsiEnumClients enumera i client per un determinato componente installato. La funzione recupera un codice prodotto ogni volta che viene chiamato.
Sintassi
UINT MsiEnumClientsA(
[in] LPCSTR szComponent,
[in] DWORD iProductIndex,
[out] LPSTR lpProductBuf
);
Parametri
[in] szComponent
Specifica il componente i cui client devono essere enumerati.
[in] iProductIndex
Specifica l'indice del client da recuperare. Questo parametro deve essere zero per la prima chiamata alla funzione MsiEnumClients e quindi incrementata per le chiamate successive. Poiché i client non sono ordinati, qualsiasi nuovo client ha un indice arbitrario. Ciò significa che la funzione può restituire i client in qualsiasi ordine.
[out] lpProductBuf
Puntatore a un buffer che riceve il codice prodotto. Questo buffer deve essere lungo 39 caratteri. I primi 38 caratteri sono per il GUID e l'ultimo carattere è per il carattere null terminante.
Valore restituito
Valore | Significato |
---|---|
|
I dati di configurazione sono danneggiati. |
|
Un parametro non valido è stato passato alla funzione. |
|
Non sono presenti client da restituire. |
|
Il sistema non dispone di memoria sufficiente per completare l'operazione. Disponibile con Windows Server 2003. |
|
È stato enumerato un valore. |
|
Il componente specificato è sconosciuto. |
Commenti
Per enumerare i client, un'applicazione deve inizialmente chiamare la funzione MsiEnumClients con il parametro iProductIndex impostato su zero. L'applicazione deve quindi incrementare il parametro iProductIndex e chiamare MsiEnumClients fino a quando non sono presenti più client, ovvero fino a quando la funzione non restituisce ERROR_NO_MORE_ITEMS.
Quando si eseguono più chiamate a MsiEnumClients per enumerare tutti i client del componente, ogni chiamata deve essere eseguita dallo stesso thread.
Nota
L'intestazione msi.h definisce MsiEnumClients 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 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. 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 i requisiti di Windows Installer Run-Time. |
Piattaforma di destinazione | Windows |
Intestazione | msi.h |
Libreria | Msi.lib |
DLL | Msi.dll |