Condividi tramite


Funzione SetupQuerySpaceRequiredOnDriveW (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 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 SetupQuerySpaceRequiredOnDriveW(
  [in]  HDSKSPC  DiskSpace,
  [in]  PCWSTR   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 sui file elencate nell'elenco di spazio su disco per l'unità specificata da DriveSpec .

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 file copia un file a 2000 byte, FIRST.EXE, nella directory C:\MYPROG, la funzione SetupQuerySpaceRequiredOnDrive verifica automaticamente la presenza di una versione preesistente del file in tale directory. Se una versione preesistente di C:\MYPROG\FIRST.EXE ha dimensioni del file pari a 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 del disco.

[in] Reserved1

Riservati; deve essere 0 (zero).

[in] Reserved2

Riservati; 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 informazioni dettagliate 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 DriveSpec specificata non è valida.

Commenti

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

SetupQueryDrivesInDiskSpaceList