Funzione MsiSetExternalUIW (msi.h)
La funzione MsiSetExternalUI abilita un gestore esterno dell'interfaccia utente. Questo gestore dell'interfaccia utente esterna viene chiamato prima del normale gestore dell'interfaccia utente interna. Il gestore dell'interfaccia utente esterna ha la possibilità di eliminare l'interfaccia utente interna restituendo un valore diverso da zero per indicare che ha gestito i messaggi. Per altre informazioni, vedere Informazioni sull'interfaccia utente.
Sintassi
INSTALLUI_HANDLERW MsiSetExternalUIW(
[in] INSTALLUI_HANDLERW puiHandler,
[in] DWORD dwMessageFilter,
[in] LPVOID pvContext
);
Parametri
[in] puiHandler
Specifica una funzione di callback conforme alla specifica INSTALLUI_HANDLER .
[in] dwMessageFilter
Specifica i messaggi da gestire utilizzando il gestore di messaggi esterni. Se il gestore esterno restituisce un risultato diverso da zero, tale messaggio non verrà inviato all'interfaccia utente, ma verrà registrato se la registrazione è stata abilitata. Per altre informazioni, vedere la funzione MsiEnableLog .
Valore | Significato |
---|---|
|
File in uso. Quando viene ricevuto questo messaggio, verrà visualizzata una finestra di dialogo FilesInUse . |
|
Chiusura prematura dell'installazione. |
|
I messaggi di errore vengono registrati. |
|
I messaggi di avviso vengono registrati. |
|
Le richieste utente vengono registrate. |
|
I messaggi di stato non visualizzati vengono registrati. |
|
Richiedere di determinare un percorso di origine valido. |
|
File in uso. Quando viene ricevuto questo messaggio, deve essere visualizzata una finestra di dialogo MsiRMFilesInUse . |
|
Spazio su disco insufficiente. |
|
L'inizio delle nuove azioni di installazione viene registrato. |
|
Il record di dati con l'azione di installazione viene registrato. |
|
I parametri per l'inizializzazione dell'interfaccia utente vengono registrati. |
|
Informazioni sull'indicatore di stato . Questo messaggio include informazioni sulle unità finora e sul numero totale di unità. Per una spiegazione del formato del messaggio, vedere la funzione MsiProcessMessage . Questo messaggio viene inviato solo a un'interfaccia utente esterna e non viene registrato. |
|
Se non si tratta di un'installazione non interattiva, l'interfaccia utente di base è stata inizializzata. Se si tratta di un'installazione completa dell'interfaccia utente , l'interfaccia utente completa non è ancora inizializzata. Questo messaggio viene inviato solo a un'interfaccia utente esterna e non viene registrato. |
|
Se viene usata un'interfaccia utente completa , l'interfaccia utente completa è terminata. Se non si tratta di un'installazione non interattiva, l'interfaccia utente di base non è ancora terminata. Questo messaggio viene inviato solo a un'interfaccia utente esterna e non viene registrato. |
|
Inviato prima della visualizzazione della finestra di dialogo completa dell'interfaccia utente . Questo messaggio viene inviato solo a un'interfaccia utente esterna e non viene registrato. |
|
Inizia l'installazione del prodotto.
Il messaggio contiene productName e ProductCode del prodotto. |
|
L'installazione del prodotto termina.
Il messaggio contiene il valore ProductName, ProductCode e return del prodotto. |
[in] pvContext
Puntatore a un contesto dell'applicazione passato alla funzione di callback. Questo parametro può essere usato per il controllo degli errori.
Valore restituito
Il valore restituito è il gestore esterno impostato in precedenza oppure zero (0) se non è presente alcun gestore impostato in precedenza.
Commenti
Per ripristinare il gestore dell'interfaccia utente precedente, viene effettuata una seconda chiamata a MsiSetExternalUI usando il INSTALLUI_HANDLER restituito dalla prima chiamata a MsiSetExternalUI e specificando zero (0) per dwMessageFilter.
Il gestore dell'interfaccia utente esterna a cui punta il parametro puiHandler non ha il controllo completo sull'interfaccia utente esterna, a meno che MsiSetInternalUI non venga chiamato con il parametro dwUILevel impostato su INSTALLUILEVEL_NONE. Se MsiSetInternalUI non viene chiamato, per impostazione predefinita il livello dell'interfaccia utente interna viene INSTALLUILEVEL_BASIC. Di conseguenza, qualsiasi messaggio non gestito dal gestore dell'interfaccia utente esterna viene gestito da Windows Installer. Iniziale "Preparazione dell'installazione. . ." viene sempre visualizzata la finestra di dialogo anche se il gestore dell'interfaccia utente esterna gestisce tutti i messaggi.
MsiSetExternalUI deve essere chiamato solo da un'applicazione bootstrapping . Non è possibile chiamare MsiSetExternalUI da un'azione personalizzata.
Nota
L'intestazione msi.h definisce MsiSetExternalUI 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 che non è indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzioni.
Requisiti
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 Windows Installer Run-Time Requirements .See the Windows Installer requirements for information about the minimum Windows Service Pack that is required by a Windows Installer version. |
Piattaforma di destinazione | Windows |
Intestazione | msi.h |
Libreria | Msi.lib |
DLL | Msi.dll |