Funzione MsiEnumPatchesExA (msi.h)
La funzione msiEnumPatchesEx
Sintassi
UINT MsiEnumPatchesExA(
[in, optional] LPCSTR szProductCode,
[in, optional] LPCSTR szUserSid,
[in] DWORD dwContext,
[in] DWORD dwFilter,
[in] DWORD dwIndex,
[out, optional] CHAR [39] szPatchCode,
[out, optional] CHAR [39] szTargetProductCode,
[out, optional] MSIINSTALLCONTEXT *pdwTargetProductContext,
[out, optional] LPSTR szTargetUserSid,
[in, out, optional] LPDWORD pcchTargetUserSid
);
Parametri
[in, optional] szProductCode
Stringa con terminazione Null che specifica il ProductCode GUID del prodotto le cui patch sono enumerate. Se nonnull, l'enumerazione patch è limitata alle istanze di questo prodotto nell'ambito dell'utente e del contesto specificato da szUserSid e dwContext. Se NULL, vengono enumerate le patch per tutti i prodotti nel contesto specificato.
[in, optional] szUserSid
Stringa con terminazione Null che specifica un SID (Security Identifier) che limita il contesto dell'enumerazione. La speciale stringa SID "S-1-1-0" (Everyone) specifica l'enumerazione in tutti gli utenti del sistema. Un valore SID diverso da "S-1-1-0" viene considerato un SID utente e limita l'enumerazione a tale utente. Durante l'enumerazione per un utente diverso dall'utente corrente, le patch applicate in un contesto non gestito per utente usando una versione minore di Windows Installer versione 3.0, non vengono enumerate. Questo parametro può essere impostato su NULL per specificare l'utente corrente.
[in] dwContext
Limita l'enumerazione a una o a una combinazione di contesti. Questo parametro può essere qualsiasi o una combinazione dei valori seguenti.
[in] dwFilter
Filtro per l'enumerazione. Questo parametro può essere uno o una combinazione dei parametri seguenti.
[in] dwIndex
Indice della patch da recuperare. Questo parametro deve essere zero per la prima chiamata alla funzione MsiEnumPatchesEx e quindi incrementato per le chiamate successive. Il parametro dwIndex
[out, optional] szPatchCode
Buffer di output che contiene il GUID della patch da enumerare. Il buffer deve essere sufficientemente grande da contenere il GUID. Questo parametro può essere NULL.
[out, optional] szTargetProductCode
Buffer di output che contiene il ProductCode GUID del prodotto che riceve questa patch. Il buffer deve essere sufficientemente grande da contenere il GUID. Questo parametro può essere NULL.
[out, optional] pdwTargetProductContext
Restituisce il contesto della patch da enumerare. Il valore di output può essere MSIINSTALLCONTEXT_USERMANAGED, MSIINSTALLCONTEXT_USERUNMANAGEDo MSIINSTALLCONTEXT_MACHINE. Questo parametro può essere NULL.
[out, optional] szTargetUserSid
Buffer di output che riceve il SID stringa dell'account in cui esiste questa istanza di patch. Questo buffer restituisce una stringa vuota per un contesto per computer.
Questo buffer deve essere sufficientemente grande da contenere il SID. Se il buffer è troppo piccolo, la funzione restituisce ERROR_MORE_DATA e imposta *pcchTargetUserSid al numero di TCHAR nel valore, senza includere il carattere NULL di terminazione.
Se il szTargetUserSid
Se szTargetUserSid e pcchTargetUserSid sono entrambi impostati su NULL, la funzione restituisce ERROR_SUCCESS se il valore esiste, senza recuperare il valore.
[in, out, optional] pcchTargetUserSid
Puntatore a una variabile che specifica il numero di
Questo parametro può essere impostato su NULL solo se szTargetUserSid è null, altrimenti la funzione restituisce ERROR_INVALID_PARAMETER.
Valore restituito
La funzione msiEnumPatchesEx
Codice restituito | Descrizione |
---|---|
|
La funzione non riesce ad accedere a una risorsa con privilegi insufficienti. |
|
I dati di configurazione sono danneggiati. |
|
Alla funzione viene passato un parametro non valido. |
|
Non sono presenti altre patch da enumerare. |
|
La patch viene enumerata correttamente. |
|
Il prodotto che szProduct non è installato nel computer nei contesti specificati. |
|
Questo valore viene restituito quando pcchTargetUserSid punta a una dimensione del buffer inferiore al necessario per copiare il SID. In questo caso, l'utente può correggere il buffer e chiamare di nuovo MsiEnumPatchesEx per lo stesso valore di indice. |
Osservazioni
Gli utenti non amministratori possono enumerare le patch solo all'interno della loro visibilità. Gli amministratori possono enumerare le patch per altri contesti utente.
Nota
L'intestazione msi.h definisce MsiEnumPatchesEx 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 |
Vedere anche
non supportato in Windows Installer 2.0 e versioni precedenti