Condividi tramite


Funzione MsiEnumRelatedProductsA (msi.h)

La funzione MsiEnumRelatedProducts enumera i prodotti con un codice di aggiornamento specificato. Questa funzione elenca i prodotti attualmente installati e annunciati con la proprietà UpgradeCode specificata nella tabella proprietà .

Sintassi

UINT MsiEnumRelatedProductsA(
  [in]  LPCSTR lpUpgradeCode,
  [in]  DWORD  dwReserved,
  [in]  DWORD  iProductIndex,
  [out] LPSTR  lpProductBuf
);

Parametri

[in] lpUpgradeCode

Stringa con terminazione Null che specifica il codice di aggiornamento dei prodotti correlati che il programma di installazione deve enumerare.

[in] dwReserved

Questo parametro è riservato e deve essere 0.

[in] iProductIndex

Indice in base zero nei prodotti registrati.

[out] lpProductBuf

Buffer per ricevere il GUID del codice prodotto. Questo buffer deve avere una lunghezza di 39 caratteri. I primi 38 caratteri sono relativi al 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 ci sono prodotti da restituire.
ERROR_NOT_ENOUGH_MEMORY
Il sistema non dispone di memoria sufficiente per completare l'operazione. Disponibile a partire da Windows Server 2003.
ERROR_SUCCESS
È stato enumerato un valore.

Osservazioni

Vedere proprietà UpgradeCode.

Per enumerare i prodotti attualmente installati e annunciati con un codice di aggiornamento specifico, un'applicazione deve inizialmente chiamare la funzione MsiEnumRelatedProducts con il parametro iProductIndex impostato su zero. L'applicazione deve quindi incrementare il parametro iProductIndex e chiamare MsiEnumRelatedProducts finché la funzione non restituisce ERROR_NO_MORE_ITEMS, il che significa che non sono presenti altri prodotti con il codice di aggiornamento specificato.

Quando si effettuano più chiamate a MsiEnumRelatedProducts per enumerare tutti i prodotti correlati, ogni chiamata deve essere eseguita dallo stesso thread.

Nota

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