Condividi tramite


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

Vedi anche

Funzioni

Panoramica

SetupInstallFromInfSection

SetupInstallServicesFromInfSection