Funzione SetupInstallFromInfSectionA (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.
La funzione setupInstallFromInfSection
Se il registro o il file viene modificato, il chiamante di questa funzione deve disporre dei privilegi per scrivere nella directory di sistema o di destinazione.
Sintassi
WINSETUPAPI BOOL SetupInstallFromInfSectionA(
HWND Owner,
HINF InfHandle,
PCSTR SectionName,
UINT Flags,
HKEY RelativeKeyRoot,
PCSTR SourceRootPath,
UINT CopyFlags,
PSP_FILE_CALLBACK_A MsgHandler,
PVOID Context,
HDEVINFO DeviceInfoSet,
PSP_DEVINFO_DATA DeviceInfoData
);
Parametri
Owner
Puntatore facoltativo all'handle della finestra alla finestra proprietaria di tutte le finestre di dialogo generate durante l'installazione, ad esempio per la richiesta del disco o la copia di file. Se non viene specificato proprietario, queste finestre di dialogo diventano finestre di primo livello.
InfHandle
Handle per il file INF che contiene la sezione da elaborare.
SectionName
Nome della sezione Install
Flags
Controlla le azioni da eseguire. I flag possono essere una combinazione dei valori seguenti.
SPINST_INIFILES
Eseguire operazioni INI-file (UpdateInis, righe UpdateIniFields nella sezione Installa in fase di elaborazione).
SPINST_REGISTRY
Eseguire operazioni del Registro di sistema (AddReg, righe di DelReg nella sezione Installare in fase di elaborazione).
SPINST_INI2REG
Eseguire operazioni INI-file nel Registro di sistema (Righe di Ini2Reg nella sezione Installare in corso di elaborazione).
SPINST_LOGCONFIG
Questo flag viene usato solo durante l'installazione di un driver di dispositivo.
Eseguire operazioni di configurazione logiche (righe di LogConf nella sezione Installare in fase di elaborazione). Questo flag viene usato solo se vengono specificati DeviceInfoSet e DeviceInfoData.
Per altre informazioni sull'installazione dei driver di dispositivo, LogConf, DeviceInfoSeto DeviceInfoData, vedere la Guida del programmatore DDK.
SPINST_FILES
Eseguire operazioni sui file (CopyFiles, DelFiles, RenFiles righe nella sezione Install in corso di elaborazione).
SPINST_ALL
Eseguire tutte le operazioni di installazione.
SPINST_REGISTERCALLBACKAWARE
Quando si usa la direttiva RegisterDlls
SPINST_REGSVR
Per inviare una notifica alla routine di callback durante la registrazione di un file, includere SPINST_REGISTERCALLBACKAWARE più SPINST_REGSVR in Flag. Il chiamante deve inoltre specificare il parametro
SPINST_UNREGSVR
Per inviare una notifica alla routine di callback quando si annulla la registrazione di un file, includere SPINST_REGISTERCALLBACKAWARE più SPINST_UNREGSVR nella Flag. Il chiamante deve inoltre specificare il parametro
RelativeKeyRoot
Parametro facoltativo che deve essere specificato se Flags include SPINST_REGISTRY o SPINST_INI2REG. Handle per una chiave del Registro di sistema da usare come radice quando il file INF specifica HKR come chiave. Si noti che questo parametro viene ignorato se SetupInstallFromInfSection viene chiamato con il set di DeviceInfoSet e DeviceInfo Data facoltativo.
SourceRootPath
Radice di origine per le copie di file. Un esempio potrebbe essere A:\ o \device\win\install. Se Flag include SPINST_FILES e SourceRootPath è NULL, il sistema fornisce un percorso radice predefinito.
CopyFlags
Parametro facoltativo che deve essere specificato se Flags include SPINST_FILES.
Specifica i flag da passare alla funzione
SP_COPY_DELETESOURCE
Eliminare il file di origine al termine della copia. Il chiamante non riceve una notifica se l'eliminazione non riesce.
SP_COPY_REPLACEONLY
Copiare il file solo in caso di sovrascrittura di un file nel percorso di destinazione.
SP_COPY_NEWER_OR_SAME
Esaminare ogni file copiato per verificare se le relative risorse di versione indicano che è la stessa versione o non è più recente di una copia esistente nella destinazione.
Le informazioni sulla versione del file usate durante i controlli della versione sono specificate nella dwFileVersionMS e dwFileVersionLS membri di una struttura VS_FIXEDFILEINFO, come compilato dalle funzioni della versione. Se uno dei file non dispone di risorse di versione o se dispone di informazioni sulla versione identiche, il file di origine viene considerato più recente.
Se il file di origine non è uguale alla versione o alla versione successiva e viene specificato il CopyMsgHandler, il chiamante riceve una notifica e può annullare la copia. Se CopyMsgHandler non viene specificato, il file non viene copiato.
SP_COPY_NEWER_ONLY
Esaminare ogni file copiato per verificare se le relative risorse di versione indicano che non è più recente di una copia esistente nella destinazione. Se il file di origine è più recente ma non uguale alla versione della destinazione esistente, il file viene copiato.
SP_COPY_NOOVERWRITE
Controllare se il file di destinazione esiste e, in tal caso, inviare una notifica al chiamante che può assegnare il veto alla copia. Se CopyMsgHandler non viene specificato, il file non viene sovrascritto.
SP_COPY_NODECOMP
Non decomprimere il file. Quando questo flag è impostato, al file di destinazione non viene assegnato il formato non compresso del nome di origine (se appropriato). Ad esempio, la copia di f:/x86\cmd.ex_ in \install\temp restituisce un file di destinazione di \install\temp\cmd.ex_. Se il flag SP_COPY_NODECOMP non è stato specificato, il file verrà decompresso e la destinazione verrà chiamata \install\temp\cmd.exe. La parte del nome file di DestinationName, se specificato, viene rimossa e sostituita con il nome file del file di origine. Quando si specifica SP_COPY_NODECOMP, non è possibile controllare alcuna lingua o informazioni sulla versione.
SP_COPY_LANGUAGEAWARE
Esaminare ogni file copiato per verificare se la lingua è diversa dalla lingua di qualsiasi file esistente già presente nella destinazione. In tal caso, e viene specificato il CopyMsgHandler, il chiamante riceve una notifica e può annullare la copia. Se CopyMsgHandler non viene specificato, il file non viene copiato.
SP_COPY_SOURCE_ABSOLUTE
SourceFile è un percorso di origine completo. Non cercarlo nella sezione SourceDisksNamesNames del file INF.
SP_COPY_SOURCEPATH_ABSOLUTE
SourcePathRoot è la parte completa del percorso del file di origine. Ignorare l'origine relativa specificata nella sezione
SP_COPY_FORCE_IN_USE
Se la destinazione esiste, si comporta come se fosse in uso e accoda il file per la copia al successivo riavvio del sistema.
SP_COPY_IN_USE_NEEDS_REBOOT
Se il file è in uso durante l'operazione di copia informa l'utente che il sistema deve essere riavviato. Questo flag viene usato solo quando si chiama SetupPromptReboot o SetupScanFileQueue.
SP_COPY_NOSKIP
Non concedere all'utente la possibilità di ignorare un file.
SP_COPY_FORCE_NOOVERWRITE
Controllare se il file di destinazione esiste e, in tal caso, il file non viene sovrascritto. Il chiamante non riceve una notifica.
SP_COPY_FORCE_NEWER
Esaminare ogni file copiato per verificare se le relative risorse di versione (o timestamp per i file non immagine) indicano che non è più recente di una copia esistente nella destinazione. Se il file copiato non è più recente, il file non viene copiato. Il chiamante non riceve una notifica.
SP_COPY_WARNIFSKIP
Se l'utente tenta di ignorare un file, avvisarli che ignorare un file potrebbe influire sull'installazione. Usato per i file critici del sistema.
MsgHandler
Puntatore alla routine di callback. La routine di callback deve essere nel formato FileCallback. Per altre informazioni, vedere notifiche
Questo parametro è facoltativo solo se il parametro flag di
MsgHandler deve essere impostato se flag include SPINST_FILES. In questo caso, la notifica viene inviata alla routine di callback quando viene eseguito il commit della coda di file con SetupCommitFileQueue.
Context
Valore da passare alla funzione di callback quando viene eseguito il commit interno della coda di file compilata da questa routine tramite SetupCommitFileQueue. Il parametro Context
DeviceInfoSet
Puntatore facoltativo a un handle per un set di informazioni sul dispositivo. Per altre informazioni sulle funzioni di installazione del programma di installazione del dispositivo, vedere la Guida del programmatore DDK.
DeviceInfoData
Puntatore facoltativo a un puntatore alla struttura SP_DEVINFO_DATA che fornisce un contesto a un elemento specifico nel set specificato da DeviceInfoSet. Per altre informazioni sulle funzioni di installazione del programma di installazione dei dispositivi, vedere la Guida del programmatore DDK.
Valore restituito
Se la funzione ha esito positivo, il valore restituito è un valore diverso da zero.
Se la funzione ha esito negativo, il valore restituito è zero. Per ottenere informazioni estese sull'errore, chiamare GetLastError.
Osservazioni
Se una directory UNC viene specificata come directory di destinazione di un'operazione di copia file, è necessario assicurarsi che esista prima di chiamare SetupInstallFromInfSection. Le funzioni di installazione non controllano l'esistenza di e non creano directory UNC. Se la directory UNC di destinazione non esiste, l'installazione del file avrà esito negativo.
Questa funzione richiede un file INF di Windows. Alcuni formati di file INF meno recenti potrebbero non essere supportati.
Nota
L'intestazione setupapi.h definisce SetupInstallFromInfSection 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.
SetupInstallFromInfSection registra le informazioni di diagnostica nel log di testo dell'installazione dell'applicazione SetupAPI. Questo file di log è in genere disattivato per impostazione predefinita. Può essere abilitata modificando i livelli di registrazione Generale parte del valore LogLevel
SetupAPI, come descritto in Impostazione dei livelli di registrazione SETUPAPI. Per motivi di prestazioni, è consigliabile abilitare questo file di log solo quando si risolve un problema. Quando il file di log è abilitato, è possibile trovarlo in %windir%\inf\setupapi.app.log
.
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 |
set di API | ext-ms-win-setupapi-classinstallers-l1-1-2 (introdotto in Windows 10, versione 10.0.14393) |