Funzione MsiGetPatchInfoExA (msi.h)
La funzione MsiGetPatchInfoEx per informazioni sull'applicazione di una patch a un'istanza specificata di un prodotto.
Sintassi
UINT MsiGetPatchInfoExA(
[in] LPCSTR szPatchCode,
[in] LPCSTR szProductCode,
[in] LPCSTR szUserSid,
[in] MSIINSTALLCONTEXT dwContext,
[in] LPCSTR szProperty,
[out, optional] LPSTR lpValue,
[in, out] LPDWORD pcchValue
);
Parametri
[in] szPatchCode
Stringa con terminazione Null contenente il GUID della patch. Questo parametro non può essere NULL.
[in] szProductCode
Stringa con terminazione Null contenente il ProductCode GUID dell'istanza del prodotto. Questo parametro non può essere NULL.
[in] szUserSid
Stringa con terminazione Null che specifica l'identificatore di sicurezza (SID) in cui esiste l'istanza della patch sottoposta a query. L'utilizzo di un valore NULL
[in] dwContext
Limita l'enumerazione a un contesto per utente non gestito, per utente gestito o per computer. Questo parametro può essere uno dei valori seguenti.
[in] szProperty
Stringa con terminazione Null che specifica il valore della proprietà da recuperare. Il parametro szProperty può essere uno dei seguenti:
Nome | Significato |
---|---|
|
Ottiene il file di patch memorizzato nella cache utilizzato dal prodotto. |
|
Ottiene il set di trasformazioni patch applicate all'ultimo installazione della patch al prodotto. Questo valore potrebbe non essere disponibile per le applicazioni non gestite per utente se l'utente non è connesso. |
|
Ottiene l'ultima volta che il prodotto ha ricevuto il servizio. Il valore di questa proprietà viene sostituito ogni volta che viene applicata o rimossa una patch dal prodotto o viene usata l'opzione /v Command-Line Option per riparare il prodotto. Se il prodotto non ha ricevuto riparazioni o patch questa proprietà contiene l'ora in cui il prodotto è stato installato nel computer. |
|
Restituisce "1" se la patch è contrassegnata come possibile per disinstallare dal prodotto. In questo caso, il programma di installazione può comunque bloccare la disinstallazione se questa patch è richiesta da un'altra patch che non può essere disinstallata. |
|
Restituisce "1" se questa patch è attualmente applicata al prodotto. Restituisce "2" se questa patch viene sostituita da un'altra patch. Restituisce "4" se questa patch è obsoleta. Questi valori corrispondono alle costanti utilizzate dal parametro |
|
Ottenere il nome visualizzato registrato per la patch. Per le patch che non includono la proprietà DisplayName nella tabella MsiPatchMetadata, il nome visualizzato restituito è una stringa vuota (""). |
|
Ottenere l'URL delle informazioni di supporto registrato per la patch. Per le patch che non includono la proprietà MoreInfoURL nella tabella MsiPatchMetadata, l'URL delle informazioni di supporto restituite è una stringa vuota (""). |
[out, optional] lpValue
Questo parametro è un puntatore a un buffer che riceve il valore della proprietà. Questo buffer deve essere sufficientemente grande da contenere le informazioni. Se il buffer è troppo piccolo, la funzione restituisce ERROR_MORE_DATA e imposta *pcchValue sul numero di TCHAR nel valore della proprietà, senza includere il carattere di terminazione NULL.
Se
Se lpValue e pcchValue sono entrambi impostati su null, la funzione restituisce ERROR_SUCCESS se il valore esiste, senza recuperare il valore.
[in, out] pcchValue
Quando si chiama la funzione, questo parametro deve essere un puntatore a una variabile che specifica il numero di
Questo parametro può essere impostato su NULL solo se lpValue è null. In caso contrario, la funzione restituisce ERROR_INVALID_PARAMETER.
Valore restituito
La funzione msiGetPatchInfoEx
Codice restituito | Descrizione |
---|---|
|
La funzione non riesce ad accedere a una risorsa con privilegi insufficienti. |
|
I dati di configurazione sono danneggiati. |
|
La funzione ha esito negativo e l'errore non viene identificato in altri codici di errore. |
|
Alla funzione viene passato un parametro non valido. |
|
Il valore non rientra nel buffer fornito. |
|
La patch viene enumerata correttamente. |
|
Il prodotto che szProduct non è installato nel computer. |
|
La proprietà non è riconosciuta. |
|
La patch non è riconosciuta. |
Osservazioni
Windows Installer 2.0: Non supportato. Questa funzione è disponibile a partire da Windows Installer versione 3.0.
Un utente può eseguire query sui dati delle patch per qualsiasi istanza del prodotto visibile. Il gruppo di amministratori può eseguire query sui dati delle patch per qualsiasi istanza del prodotto e per qualsiasi utente nel computer. Non tutti i valori sono garantiti per le applicazioni per utente, non gestite se l'utente non è connesso.
Nota
L'intestazione msi.h definisce MsiGetPatchInfoEx 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. 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 |