Condividi tramite


Funzione MsiExtractPatchXMLDataW (msi.h)

La funzione MsiExtractPatchXMLData estrae informazioni da una patch che può essere usata per determinare se la patch si applica a un sistema di destinazione. La funzione restituisce una stringa XML che può essere fornita per MsiDeterminePatchSequence e MsiDetermineApplicablePatches anziché il file patch completo. Le informazioni restituite possono essere usate per determinare se la patch è applicabile.

Sintassi

UINT MsiExtractPatchXMLDataW(
  [in]                LPCWSTR szPatchPath,
  [in]                DWORD   dwReserved,
  [out, optional]     LPWSTR  szXMLData,
  [in, out, optional] LPDWORD pcchXMLData
);

Parametri

[in] szPatchPath

Percorso completo della patch su cui viene eseguita la query. Passare come stringa con terminazione Null. Questo parametro non può essere NULL.

[in] dwReserved

Argomento riservato che deve essere 0 (zero).

[out, optional] szXMLData

Puntatore a un buffer per contenere la stringa XML contenente le informazioni sulle patch estratte. Questo buffer deve essere sufficientemente grande da contenere le informazioni ricevute. Se il buffer è troppo piccolo, la funzione restituisce ERROR_MORE_DATA e imposta *pcchXMLData sul numero di TCHAR nel valore, senza includere il carattere NULL di terminazione.

Se szXMLData è impostato su NULL e pcchXMLData è impostato su un puntatore valido, la funzione restituisce ERROR_SUCCESS e imposta *pcchXMLData sul numero di TCHAR nel valore, non incluso il carattere NULL di terminazione. La funzione può quindi essere chiamata di nuovo per recuperare il valore, con szXMLData buffer sufficientemente grande da contenere *pcchXMLData + 1 caratteri.

[in, out, optional] pcchXMLData

Puntatore a una variabile che specifica il numero di TCHAR nel buffer szXMLData . Quando la funzione termina, questo parametro viene impostato sulle dimensioni del valore richiesto indipendentemente dal fatto che la funzione copia il valore nel buffer specificato. La dimensione viene restituita come numero di TCHAR nel valore richiesto, senza includere il carattere Null di terminazione.

Se questo parametro è impostato su NULL, la funzione restituisce ERROR_INVALID_PARAMETER.

Valore restituito

La funzione MsiExtractPatchXMLData può restituire i valori seguenti.

Codice restituito Descrizione
ERROR_FUNCTION_FAILED
La funzione non è riuscita in modo che non sia identificata da nessuno dei valori restituiti in questa tabella.
ERROR_INVALID_PARAMETER
Alla funzione è stato passato un parametro non valido.
ERROR_MORE_DATA
Il valore non rientra nel buffer fornito.
ERROR_PATCH_OPEN_FAILED
Impossibile aprire il file patch.
ERROR_SUCCESS
La funzione ha avuto esito positivo.
ERROR_PATCH_PACKAGE_INVALID
Impossibile aprire il file patch.
ERROR_CALL_NOT_IMPLEMENTED
Questo errore può essere restituito se MSXML 3.0 non è installato.

Osservazioni

Il metodo ExtractPatchXMLData dell'oggetto Installer usa la funzione MsiExtractPatchXMLData .

Nota

L'intestazione msi.h definisce MsiExtractPatchXMLData 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 4.0 o Windows Installer 4.5 in Windows Server 2008 o Windows Vista. Windows Installer 3.0 o versione successiva 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

Vedere anche

MsiDetermineApplicablePatches

MsiDeterminePatchSequence

non supportato in Windows Installer 2.0 e versioni precedenti