Funzione InstallHinfSectionW (setupapi.h)
[Questa funzione è disponibile per l'uso nei sistemi operativi indicati nella sezione Requisiti. Potrebbe essere modificato o non disponibile nelle versioni successive. SetupAPI non deve più essere usata per l'installazione di applicazioni. Usare invece Windows Installer per lo sviluppo di programmi di installazione delle applicazioni. SetupAPI continua a essere usato per l'installazione dei driver di dispositivo.
InstallHinfSection è una funzione del punto di ingresso esportata da Setupapi.dll che è possibile usare per eseguire una sezione di un file inf. è possibile richiamare InstallHinfSection chiamando l'utilità Rundll32.exe come descritto nella sezione Osservazioni.
Il prototipo per la funzione InstallHinfSection segue la forma di tutte le funzioni del punto di ingresso usate con Rundll32.exe.
Se un file viene copiato o modificato, il chiamante di questa funzione deve disporre dei privilegi per scrivere nella directory di destinazione. Se sono presenti servizi installati, è necessario che il chiamante di questa funzione abbia accesso all'Service Control Manager.
Sintassi
void InstallHinfSectionW(
[in] HWND Window,
[in] HINSTANCE ModuleHandle,
[in] PCWSTR CommandLine,
[in] INT ShowCommand
);
Parametri
[in] Window
Handle della finestra padre. In genere hwnd è Null.
[in] ModuleHandle
Riservato e deve essere Null.
[in] CommandLine
Puntatore al buffer contenente la riga di comando. È consigliabile usare una stringa con terminazione Null.
[in] ShowCommand
Riservato e deve essere zero.
Valore restituito
Nessuno
Osservazioni
Si noti che esistono tre esportazioni: InstallHinfSection (per RunDll32), InstallHinfSectionAe InstallHinfSectionW.
Per eseguire una sezione Install di un file inf specificato, è possibile richiamare InstallHinfSection con il Rundll32.exe usando la sintassi seguente.
In questo modo viene passato "<sezione><modalità><percorso>" a CmdLineBuffer.
In alternativa, il programma può chiamare InstallHinfSection, InstallHinfSectionAo InstallHinfSection W direttamente, impostando il parametro CmdLineBuffer come segue.
"<section> <mode> <path>"
Dove percorso è il percorso completo del file inf, modalità è il parametro modalità di riavvio e sezione è qualsiasi sezione Install nel file inf. È necessario il separatore di virgole tra SETUPAPI.DLL e InstallHinfSection nella riga di comando. Si noti che non possono essere presenti spazi vuoti nella riga di comando tra la virgola e SETUPAPI.DLL o InstallHinfSection.
È consigliabile specificare il percorso completo del file inf come percorso .
È possibile specificare qualsiasi sezione Install nel file inf come sezione. Non sono consentiti spazi.
È consigliabile usare una combinazione dei valori seguenti per modalità. È necessario includere 128 per impostare il percorso predefinito dell'installazione sul percorso dell'INF. In caso contrario, si presuppone un INF fornito dal sistema. Aggiungere valori per specificare il riavvio. Si noti che sono consigliati solo i valori 128 o 132, altri valori possono causare il riavvio del computer inutilmente o meno quando necessario.
Valore | Descrizione |
---|---|
0 | InF fornito dal sistema. |
128 | Impostare il percorso predefinito dell'installazione sul percorso di INF. Questa è l'impostazione tipica. |
+0 | Non riavviare mai il computer. |
+1 | Riavviare il computer in tutti i casi. |
+2 | Chiedere sempre agli utenti se desiderano riavviare. |
+3 | Riavviare il computer, se necessario, senza chiedere all'utente l'autorizzazione. |
+4 | Se è necessario un riavvio del computer, chiedere all'utente l'autorizzazione prima del riavvio. |
Ad esempio, la riga di comando seguente esegue la sezione DefaultInstall del file Shell.inf. Se il programma di installazione determina che è necessario un riavvio, all'utente verrà visualizzata una finestra di dialogo "Riavvia il computer, Sì/No".
RUNDLL32.EXE SETUPAPI.DLL,InstallHinfSection DefaultInstall 132 C:\WINDOWS\INF\SHELL. INF
Nota
L'intestazione setupapi.h definisce InstallHinfSection 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.
Cautela
Quando viene usata in un'architettura diversa da x86 o amd64 o se usata in un sistema in modalità S, InstallHInfSection richiede che il file INF abbia una sezione VERSIONE INF con una direttiva CatalogFile che punta a un file di catalogo firmato che contiene l'hash del file INF e i file a cui fa riferimento il file INF tramite una sezione INF SourceDisksFiles sezione.
Cautela
Se usato in un sistema la cui architettura nativa non è x86 né amd64, è consigliabile usare InstallHInfSection da un processo di architettura nativo. InstallHInfSection bloccherà molti tipi di operazioni di modifica dello stato del sistema quando vengono usate da un processo di architettura non nativo.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Windows XP [solo app desktop] |
server minimo supportato | Windows Server 2003 [solo app desktop] |
piattaforma di destinazione | Finestre |
intestazione |
setupapi.h |
libreria |
Setupapi.lib |
dll | Setupapi.dll |