Funzione SetupInstallFilesFromInfSectionA (setupapi.h)
[Questa funzione è disponibile per l'uso nei sistemi operativi indicati nella sezione Requisiti. È possibile che in versioni successive sia stata modificata o non sia più disponibile. SetupAPI non deve più essere usato 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 SetupInstallFilesFromInfSection accoda tutti i file per un'installazione specificati nelle sezioni Copia file, Elimina file e Rinomina file elencati da una sezione Installa.
Se viene modificato un file, il chiamante di questa funzione deve disporre dei privilegi per scrivere nella directory di destinazione.
Sintassi
WINSETUPAPI BOOL SetupInstallFilesFromInfSectionA(
[in] HINF InfHandle,
[in] HINF LayoutInfHandle,
[in] HSPFILEQ FileQueue,
[in] PCSTR SectionName,
[in] PCSTR SourceRootPath,
[in] UINT CopyFlags
);
Parametri
[in] InfHandle
Handle in un file INF contenente la sezione da installare.
[in] LayoutInfHandle
Puntatore facoltativo a un handle al file INF che contiene le sezioni SourceDisksFiles e SourceDisksNames.
Se LayoutInfHandle non è specificato, vengono usate le sezioni SourceDisksFiles e SourceDisksNames di InfHandle .
[in] FileQueue
Handle della coda in cui devono essere aggiunte le operazioni di installazione.
[in] SectionName
Nome della sezione Install nel parametro InfHandle che elenca le sezioni Copia file, Elimina file e Rinomina file che contengono i file da installare.
Usare una stringa con terminazione Null.
[in] SourceRootPath
Puntatore facoltativo a un percorso radice dei file di origine da copiare, ad esempio A:\ o \win\install.
Usare una stringa con terminazione Null.
[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 ha esito negativo.
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 si tratta della stessa versione o meno 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 nei membri dwFileVersionMS e dwFileVersionLS di una struttura VS_FIXEDFILEINFO , come specificato dalle funzioni di 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 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 che viene 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 informazioni dettagliate sull'errore, chiamare GetLastError.
Commenti
SetupInstallFilesFromInfSection può essere chiamato più volte per accodare i file specificati in più sezioni INF. Dopo aver eseguito correttamente il commit della coda e aver copiato, rinominato ed eliminato, è possibile chiamare SetupInstallFromInfSection 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 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 XP [solo app desktop] |
Server minimo supportato | Windows Server 2003 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | setupapi.h |
Libreria | Setupapi.lib |
DLL | Setupapi.dll |