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 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
ERROR_BAD_CONFIGURATION
I dati di configurazione sono danneggiati.
ERROR_INVALID_PARAMETER
Un parametro non valido è stato passato alla funzione.
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.

Commenti

Vedere La proprietà UpgradeCode .

Per enumerare prodotti attualmente installati e annunciati con codice di aggiornamento specifico, un'applicazione deve inizialmente chiamare la funzione MsiEnumRelatedProducts con il parametro iProductIndex impostato su zero. L'applicazione deve quindi aumentare il parametro iProductIndex e chiamare MsiEnumRelatedProducts fino a quando la funzione restituisce ERROR_NO_MORE_ITEMS, il che significa che non sono presenti più 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 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