Funzione MsiSetExternalUIRecord (msi.h)
La funzione MsiSetExternalUIRecord abilita un gestore dell'interfaccia utente esterno.
Sintassi
UINT MsiSetExternalUIRecord(
[in] INSTALLUI_HANDLER_RECORD puiHandler,
[in] DWORD dwMessageFilter,
[in] LPVOID pvContext,
[out, optional] PINSTALLUI_HANDLER_RECORD ppuiPrevHandler
);
Parametri
[in] puiHandler
Specifica una funzione di callback conforme alla specifica INSTALLUI_HANDLER_RECORD .
Per disabilitare il gestore dell'interfaccia utente esterna corrente, chiamare la funzione con questo parametro impostato su un valore NULL .
[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 viene inviato all'interfaccia utente, ma viene registrato se la registrazione è abilitata. Per altre informazioni, vedere 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à. Questo messaggio viene inviato solo a un'interfaccia utente esterna e non viene registrato. Per altre informazioni, vedere MsiProcessMessage. |
|
Se non si tratta di un'installazione non interattiva, l'interfaccia utente di base viene 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 è terminata. Questo messaggio viene inviato solo a un'interfaccia utente esterna e non viene registrato. |
|
Inviato prima della visualizzazione della finestra di dialogo Interfaccia utente completa.
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.
[out, optional] ppuiPrevHandler
Restituisce il puntatore alla funzione di callback impostata in precedenza conforme alla specifica INSTALLUI_HANDLER_RECORD oppure NULL se non è stato impostato alcun callback in precedenza.
Valore restituito
Codice restituito | Descrizione |
---|---|
|
La funzione viene completata correttamente. |
|
Questo valore indica che viene effettuato un tentativo di chiamare questa funzione da un'azione personalizzata.
Questa funzione non può essere chiamata da un'azione personalizzata. |
Commenti
Questa funzione non può essere chiamata da Azioni personalizzate.
Il gestore dell'interfaccia utente esterno abilitato chiamando MsiSetExternalUIRecord riceve i messaggi nel formato di un oggetto Record. Il gestore dell'interfaccia utente esterno abilitato chiamando MsiSetExternalUI riceve i messaggi nel formato di una stringa. Un'interfaccia utente esterna viene sempre chiamata prima dell'interfaccia utente interna di Windows Installer. Un'interfaccia utente esterna basata su record abilitata viene chiamata prima di qualsiasi interfaccia utente esterna basata su stringa. Se il gestore dell'interfaccia utente esterna basato su record restituisce 0 (zero), il messaggio viene inviato a qualsiasi gestore dell'interfaccia utente esterno basato su stringhe abilitato. Se il gestore dell'interfaccia utente esterno restituisce un valore diverso da zero, il gestore interno dell'interfaccia utente di Windows Installer viene eliminato e i messaggi vengono considerati gestiti.
Questa funzione archivia le interfacce utente esterne impostate. Per sostituire il gestore dell'interfaccia utente esterna corrente con un gestore precedente, chiamare la funzione e specificare il INSTALLUI_HANDLER_RECORD come parametro puiHandler e 0 (zero) come parametro 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.
Per disabilitare questo gestore dell'interfaccia utente esterno, chiamare MsiSetExternalUIRecord con un valore NULL per il parametro puiHandler .
Windows Installer 2.0 e Windows Installer 3.0: Non supportato. La funzione MsiSetExternalUIRecord è disponibile a partire da Windows Installer 3.1.
Per altre informazioni sull'uso di un gestore esterno basato su record, vedere Monitoraggio di un'installazione tramite MsiSetExternalUIRecord.
Requisiti
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 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 |
Vedi anche
Funzioni di interfaccia e registrazione
Non supportato in Windows Installer 3.0 e versioni precedenti