Funzione SetupGetFileCompressionInfoExA (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 SetupGetFileCompressionInfoEx esamina un file potenzialmente compresso e ottiene il tipo di compressione, il percorso completo del file (incluso il nome file), le dimensioni compresse e le dimensioni del file di destinazione non compresso. Il chiamante della funzione passa il nome del file da esaminare e puntatori ai percorsi per il buffer e le dimensioni del buffer per ricevere il nome e il percorso del file restituiti.
Per determinare le dimensioni del buffer per il percorso e il nome file restituiti, è possibile chiamare SetupGetFileCompressionInfoEx con ActualSourceFileNameBuffer specificato Null e ActualSourceFileNameLen contenente 0. La funzione ha esito positivo e in caso di riempimento restituito RequiredBufferLen.
Sintassi
WINSETUPAPI BOOL SetupGetFileCompressionInfoExA(
[in] PCSTR SourceFileName,
[in, out] PSTR ActualSourceFileNameBuffer,
[in, out] DWORD ActualSourceFileNameBufferLen,
[out] PDWORD RequiredBufferLen,
[out] PDWORD SourceFileSize,
[out] PDWORD TargetFileSize,
[out] PUINT CompressionType
);
Parametri
[in] SourceFileName
Nome file del file potenzialmente compresso da esaminare. Se il file non viene trovato nel supporto di origine esattamente come denominato, il programma di installazione cerca fino a due nomi alternativi. Per esempio; Se il programma di installazione non trova F:\x86\cmd.exe, cerca F:\mpis\cmd.ex_ e, se tale nome non viene trovato, cerca F:\x86\cmd.ex$.
[in, out] ActualSourceFileNameBuffer
Puntatore a un buffer che riceve il nome e il percorso file effettivi se questo parametro non è NULL. Questa proprietà è valida solo se la funzione restituisce NO_ERROR.
[in, out] ActualSourceFileNameBufferLen
Dimensioni del buffer specificato da ActualSourceFileNameBuffer, in caratteri. In genere si usa una dimensione del buffer di MAX_PATH. Se actualSourceFileNameLen è troppo piccolo, la funzione ha esito negativo con ERROR_INSUFFICIENT_BUFFER. ActualSourceFileNameLen deve contenere zero se ActualSourceFileNameBuffer è NULL.
[out] RequiredBufferLen
Dimensioni del nome file e del percorso completo, incluso il NULL, se questo parametro non è NULL. Se actualSourceFileNameBuffer è NULL e ActualSourceFileNameLen è zero, la funzione ha esito positivo ma compila RequiredBufferLen. Questo parametro è valido solo se la funzione restituisce NO_ERROR o ERROR_INSUFFICIENT_BUFFER.
[out] SourceFileSize
Puntatore a una variabile in cui questa funzione restituisce le dimensioni del file nel formato corrente, ovvero le dimensioni correnti del file denominato da ActualSourceFileNameBuffer. Le dimensioni sono determinate esaminando il file di origine; non viene recuperato da un file INF. Le dimensioni del file di origine sono valide solo se la funzione restituisce NO_ERROR o ERROR_INSUFFICIENT_BUFFER.
[out] TargetFileSize
Puntatore a una variabile in cui questa funzione restituisce le dimensioni che il file occupa quando non viene compresso o copiato. Se il file non è compresso, questo valore sarà uguale a SourceFileSize. Le dimensioni sono determinate esaminando il file; non viene recuperato da un file INF. Le dimensioni del file di destinazione sono valide solo se la funzione restituisce NO_ERROR o ERROR_INSUFFICIENT_BUFFER.
[out] CompressionType
Puntatore a una variabile in cui questa funzione restituisce un valore che indica il tipo di compressione usato in ActualSourceFileName. Il tipo di compressione è valido solo se la funzione restituisce NO_ERROR o ERROR_INSUFFICIENT_BUFFER. Questo valore di parametro può essere uno dei flag seguenti.
FILE_COMPRESSION_NONE
Il file di origine non viene compresso con un algoritmo di compressione riconosciuto.
FILE_COMPRESSION_WINLZA
Il file di origine viene compresso con la compressione LZ.
FILE_COMPRESSION_MSZIP
Il file di origine viene compresso con la compressione MSZIP.
Valore restituito
Se la funzione ha esito positivo, il valore restituito è TRUE (diverso da zero).
Se la funzione ha esito negativo, il valore restituito è FALSE (zero). La funzione può anche restituire uno dei codici di errore di sistema seguenti .
Per ottenere informazioni estese sull'errore, chiamare GetLastError.
Osservazioni
Poiché SetupGetFileCompressionInfoEx determina la compressione esaminando il file fisico, l'applicazione di installazione deve assicurarsi che il file sia presente prima di chiamare SetupGetFileCompressionInfoEx.
Nota
L'intestazione setupapi.h definisce SetupGetFileCompressionInfoEx 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 |