Funzione SetupInstallFilesFromInfSectionW (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 SetupInstallFilesFromInfSe ction accoda tutti i file per un'installazione specificata nelle sezioni Copia file, Elimina file e Rinomina file elencati da una sezione Installa.
Se un file viene modificato, il chiamante di questa funzione deve disporre dei privilegi per scrivere nella directory di destinazione.
Sintassi
WINSETUPAPI BOOL SetupInstallFilesFromInfSectionW(
[in] HINF InfHandle,
[in] HINF LayoutInfHandle,
[in] HSPFILEQ FileQueue,
[in] PCWSTR SectionName,
[in] PCWSTR SourceRootPath,
[in] UINT CopyFlags
);
Parametri
[in] InfHandle
Handle in un file INF contenente la sezione da installare.
[in] LayoutInfHandle
Puntatore facoltativo a un handle per il file INF che contiene le sezioni SourceDisksFiles e SourceDisksNames.
Se LayoutInfHandle non viene specificato, vengono utilizzate le sezioni SourceDisksFiles e SourceDisksNames di InfHandle.
[in] FileQueue
Handle nella coda in cui devono essere aggiunte le operazioni di installazione.
[in] SectionName
Nome della sezione Installa nel parametro InfHandle che elenca le sezioni Copia file, Elimina file e Rinomina file che contengono i file da installare.
Usare un nullstringa con terminazione.
[in] SourceRootPath
Puntatore facoltativo a un percorso radice dei file di origine da copiare, ad esempio A:\ o \[...]\win\install.
Usare un nullstringa con terminazione.
[in] CopyFlags
Puntatore facoltativo a un set di flag che controllano il comportamento dell'operazione di copia file.
I flag possono essere una combinazione dei valori seguenti.
SP_COPY_DELETESOURCE
Elimina il file di origine quando l'attività di copia ha esito positivo.
Il chiamante non riceve una notifica se un'attività di eliminazione non riesce.
SP_COPY_REPLACEONLY
Copia un file solo per sovrascrivere un file nel percorso di destinazione.
SP_COPY_NEWER_OR_SAME
Esamina ogni file copiato per determinare se le risorse della versione indicano che è la stessa versione o non è più recente di una copia esistente nella destinazione.
Se il file di origine non è una versione più recente o uguale, la funzione invia una notifica al chiamante che può annullare la copia.
Le informazioni sulla versione del file usate durante i controlli della versione vengono specificate nel dwFileVersionMS e dwFileVersionLS membri di una struttura VS_FIXEDFILEINFO, come compilato dalle funzioni della versione Win32.
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.
SP_COPY_NEWER_ONLY
Esamina ogni file copiato per determinare 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
Verifica se il file di destinazione esiste o meno.
Se il file di destinazione esiste, la funzione invia una notifica al chiamante che può annullare la copia.
SP_COPY_NODECOMP
Non decomprime un file.
Quando questo flag è impostato, al file di destinazione non viene assegnato il formato non compresso del nome di origine, ad esempio se si copia f:\x86\cmd.ex_ in \install\temp il risultato è il file di destinazione seguente: \install\temp\cmd.ex_.
Se il flag di SP_COPY_NODECOMP non viene specificato, il file viene decompresso e la destinazione viene chiamata \install\temp\cmd.exe.
La parte del nome file di DestinationName, se specificata, viene eliminata e sostituita con il nome file del file di origine. Quando si specifica SP_COPY_NODECOMP, non è possibile controllare le informazioni sulla lingua e sulla versione.
SP_COPY_LANGUAGEAWARE
Esamina ogni file copiato per determinare se la lingua è diversa dalla lingua di qualsiasi file esistente già presente nella destinazione.
Se la lingua è diversa, la funzione invia una notifica al chiamante che può annullare l'attività di copia.
SP_COPY_SOURCE_ABSOLUTE
SourceFile è un percorso di origine completo.
Non cercarlo nella sezione SourceDisksNames del file INF.
SP_COPY_SOURCEPATH_ABSOLUTE
SourcePathRoot è la parte completa del percorso del file di origine.
Ignorare l'origine relativa specificata nella sezione SourceDisksNames del file INF per il supporto di origine in cui si trova il file. Questo flag viene ignorato se viene specificato SP_COPY_SOURCE_ABSOLUTE.
SP_COPY_FORCE_IN_USE
Accoda il file per la copia al successivo riavvio del sistema, se la destinazione esiste e viene usata.
SP_COPY_IN_USE_NEEDS_REBOOT
Avvisa l'utente che il sistema deve essere riavviato, se il file viene usato durante un'operazione di copia.
SP_COPY_NOSKIP
Non consente all'utente di ignorare un file.
SP_COPY_FORCE_NOOVERWRITE
Verifica se il file di destinazione esiste o meno e se la destinazione esiste, il file non viene sovrascritto e il chiamante non riceve una notifica.
SP_COPY_FORCE_NEWER
Esamina ogni file copiato per identificare che le relative risorse di versione (o timestamp per i file non di immagine) indicano che non è più recente di una copia esistente nella destinazione.
Se il file copiato non è più recente, il file non viene copiato e il chiamante non riceve una notifica.
SP_COPY_WARNIFSKIP
Avvisa che l'omissione di un file può influire su un'installazione se l'utente tenta di ignorare un file.
Usare questo flag per i file critici del sistema.
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 è 0 (zero). Per ottenere informazioni estese sull'errore, chiamare GetLastError.
Osservazioni
SetupInstallFilesFromInfSection può essere chiamato più volte per accodare i file specificati in più sezioni INF. Dopo il commit della coda e la copia, la ridenominazione e/o l'eliminazione dei file, SetupInstallFromInfSection può essere chiamata per eseguire operazioni di installazione del Registro di sistema e INI.
Se una directory UNC viene specificata come directory di destinazione di un'installazione di file, è necessario assicurarsi che la directory UNC esista prima di chiamare SetupInstallFilesFromInfSection. Le funzioni di installazione non controllano l'esistenza di directory e non creano directory UNC. Se la directory UNC di destinazione non esiste, l'installazione del file non riesce.
Nota
L'intestazione setupapi.h definisce SetupInstallFilesFromInfSection 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.
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 |