Condividi tramite


Funzione SetupQuerySpaceRequiredOnDriveA (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 SetupQuerySpaceRequiredOnDrive esamina un elenco di spazio su disco per determinare lo spazio necessario per eseguire tutte le operazioni sui file elencate per un'unità specifica.

Sintassi

WINSETUPAPI BOOL SetupQuerySpaceRequiredOnDriveA(
  [in]  HDSKSPC  DiskSpace,
  [in]  PCSTR    DriveSpec,
  [out] LONGLONG *SpaceRequired,
  [in]  PVOID    Reserved1,
  [in]  UINT     Reserved2
);

Parametri

[in] DiskSpace

Handle in un elenco di spazio su disco.

[in] DriveSpec

Puntatore a una stringa con terminazione Null che specifica l'unità in cui devono essere restituite le informazioni sullo spazio.

Deve essere nel formato "x:" o "\server\share".

[out] SpaceRequired

Se la funzione ha esito positivo, questo parametro riceve la quantità di spazio aggiuntivo necessaria per elaborare tutte le operazioni di file elencate nell'elenco di spazio su disco per l'unità che DriveSpec specifica.

La funzione setupQuerySpaceRequiredOnDrive calcola lo spazio aggiuntivo necessario nell'unità di destinazione controllando le versioni preesistenti dei file nell'unità di destinazione.

Ad esempio, se un'operazione di file copia un file a 2000 byte, FIRST.EXE, nella directory C:\MYPROG, la funzione SetupQuerySpaceRequiredOnDrive verifica automaticamente la presenza di una versione preesistente di tale file in tale directory. Se una versione preesistente di C:\MYPROG\FIRST.EXE ha una dimensione del file di 500 byte, lo spazio aggiuntivo necessario nell'unità C per tale operazione è di 1500 byte.

Il valore ricevuto può essere 0 (zero) o un numero negativo, se non è necessario spazio aggiuntivo o se lo spazio viene liberato nell'unità di destinazione.

Se FIRST.EXE nell'esempio precedente viene eliminato dall'unità C, la quantità di spazio necessaria è di 2000 byte o lo spazio liberato nell'unità C.

Se la versione preesistente ha una dimensione del file di 5000 byte, lo spazio su disco necessario per sostituirlo con il FIRST.EXE a 2000 byte è di 3000 byte.

Le dimensioni dei file vengono arrotondate ai limiti del cluster su disco.

[in] Reserved1

Riservato; deve essere 0 (zero).

[in] Reserved2

Riservato; deve essere 0 (zero).

Valore restituito

Se la funzione ha esito positivo, il valore restituito è un valore diverso da zero e SpaceRequired riceve la quantità di spazio richiesta dalle operazioni sui file elencate nell'elenco di spazio su disco corrente.

Se la funzione ha esito negativo, il valore restituito è 0 (zero). Per ottenere informazioni estese sull'errore, chiamare GetLastError.

Codice restituito Descrizione
ERROR_INVALID_DRIVE
L'unità specificata non è presente nell'elenco di spazio su disco.
ERROR_INVALID_HANDLE
L'handle DiskSpace specificato non è valido.
ERROR_INVALID_PARAMETER
La stringa di DriveSpec specificata non è valida.

Osservazioni

Nota

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

SetupQueryDrivesInDiskSpaceList