Condividi tramite


Funzione MsiEnumPatchesA (msi.h)

La funzione MsiEnumPatches enumera tutte le patch applicate a un prodotto. La funzione restituisce il GUID del codice patch per ogni patch applicata al prodotto e restituisce un elenco di trasformazioni da ogni patch applicabile al prodotto. Si noti che le patch possono avere molte trasformazioni solo alcune delle quali sono applicabili a un determinato prodotto. L'elenco delle trasformazioni viene restituito nello stesso formato del valore della proprietà TRANSFORMS .

La notapcchTransformsBuf non è impostata sul numero di caratteri copiati in lpTransformsBuf al completamento della restituzione di MsiEnumPatches.
 

Sintassi

UINT MsiEnumPatchesA(
  [in]      LPCSTR  szProduct,
  [in]      DWORD   iPatchIndex,
  [out]     LPSTR   lpPatchBuf,
  [out]     LPSTR   lpTransformsBuf,
  [in, out] LPDWORD pcchTransformsBuf
);

Parametri

[in] szProduct

Specifica il codice prodotto del prodotto per il quale devono essere enumerate le patch.

[in] iPatchIndex

Specifica l'indice della patch da recuperare. Questo parametro deve essere zero per la prima chiamata alla funzione MsiEnumPatches e quindi incrementato per le chiamate successive.

[out] lpPatchBuf

Puntatore a un buffer che riceve il GUID della patch. Questo argomento è obbligatorio.

[out] lpTransformsBuf

Puntatore a un buffer che riceve l'elenco delle trasformazioni nella patch applicabili al prodotto. Questo argomento è obbligatorio e non può essere Null.

[in, out] pcchTransformsBuf

Impostare sul numero di caratteri copiati in lpTransformsBuf in caso di restituzione non riuscita della funzione. Non impostato per un ritorno riuscito. Nell'input, si tratta delle dimensioni complete del buffer, incluso uno spazio per un carattere Null di terminazione. Se il buffer passato è troppo piccolo, il conteggio restituito non include 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 patch da restituire.
ERROR_SUCCESS
È stato enumerato un valore.
ERROR_MORE_DATA
Un buffer è troppo piccolo per contenere i dati richiesti.

Osservazioni

Per enumerare le patch, un'applicazione deve inizialmente chiamare la funzione MsiEnumPatches con il parametro iPatchIndex impostato su zero. L'applicazione deve quindi incrementare il parametro iPatchIndex e chiamare MsiEnumPatches finché non sono presenti altri prodotti (fino a quando la funzione non restituisce ERROR_NO_MORE_ITEMS).

Se il buffer è troppo piccolo per contenere i dati richiesti, MsiEnumPatches restituisce ERROR_MORE_DATA e pcchTransformsBuf contiene il numero di caratteri copiati in lpTransformsBuf, senza contare il carattere Null.

Nota

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