Condividi tramite


Funzione SetupQueueCopyW (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 SetupQueueCopy aggiunge una singola operazione di copia file a una coda di file di installazione.

Sintassi

WINSETUPAPI BOOL SetupQueueCopyW(
  [in] HSPFILEQ QueueHandle,
  [in] PCWSTR   SourceRootPath,
  [in] PCWSTR   SourcePath,
  [in] PCWSTR   SourceFilename,
  [in] PCWSTR   SourceDescription,
  [in] PCWSTR   SourceTagfile,
  [in] PCWSTR   TargetDirectory,
  [in] PCWSTR   TargetFilename,
  [in] DWORD    CopyStyle
);

Parametri

[in] QueueHandle

Gestire in una coda di file di installazione, come restituito da SetupOpenFileQueue.

[in] SourceRootPath

Puntatore a un nullstringa con terminazione che specifica la radice dell'origine per questa copia, ad esempio A:.

[in] SourcePath

Puntatore a un nullstringa con terminazione che specifica il percorso relativo a SourceRootPath in cui è possibile trovare il file. Questo parametro può essere NULL.

[in] SourceFilename

Puntatore a un nullstringa con terminazione che specifica la parte del nome file del file da copiare.

[in] SourceDescription

Puntatore a un nullstringa con terminazione che specifica una descrizione del supporto di origine da usare durante le richieste del disco. Questo parametro può essere NULL.

[in] SourceTagfile

Puntatore a un nullstringa con terminazione che specifica un file di tag la cui presenza in SourceRootPath indica la presenza del supporto di origine. Questo parametro può essere NULL. Se non specificato, il file stesso verrà usato come file di tag, se necessario.

[in] TargetDirectory

Puntatore a un nullstringa con terminazione che specifica la directory in cui deve essere copiato il file.

[in] TargetFilename

Puntatore a un nullstringa con terminazione che specifica il nome del file di destinazione. Questo parametro può essere NULL. Se non specificato, il file di destinazione avrà lo stesso nome del file di origine.

[in] CopyStyle

Specifica il comportamento dell'operazione di copia file. Questo parametro può essere una combinazione dei valori seguenti.

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. Il chiamante non riceve una notifica.

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 \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 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

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, avvisare l'utente che il sistema deve essere riavviato.

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.

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 del commit della coda. Le funzioni di installazione non controllano l'esistenza di e non creano directory UNC. Se la directory UNC di destinazione non esiste, la copia del file avrà esito negativo.

Nota

L'intestazione setupapi.h definisce SetupQueueCopy 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.

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

Vedere anche

Funzioni

panoramica

SetupQueueCopySection

SetupQueueDefaultCopy

SetupQueueDelete

SetupQueueRename