Función SetupQuerySpaceRequiredOnDriveA (setupapi.h)

[Esta función está disponible para su uso en los sistemas operativos indicados en la sección Requisitos. En versiones posteriores podría modificarse o no estar disponible. SetupAPI ya no debe usarse para instalar aplicaciones. En su lugar, use Windows Installer para desarrollar instaladores de aplicaciones. SetupAPI sigue usándose para instalar controladores de dispositivos.

La función SetupQuerySpaceRequiredOnDrive examina una lista de espacio en disco para determinar el espacio necesario para realizar todas las operaciones de archivo enumeradas para una unidad específica.

Sintaxis

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

Parámetros

[in] DiskSpace

Identificador de una lista de espacio en disco.

[in] DriveSpec

Puntero a una cadena terminada en null que especifica la unidad donde se va a devolver información de espacio.

Debe tener el formato "x:" o "\server\share".

[out] SpaceRequired

Si la función se realiza correctamente, este parámetro recibe la cantidad de espacio adicional necesario para procesar todas las operaciones de archivo enumeradas en la lista de espacio en disco de la unidad que especifica DriveSpec .

La función SetupQuerySpaceRequiredOnDrive calcula el espacio adicional necesario en la unidad de destino comprobando si hay versiones preexistentes de los archivos en la unidad de destino.

Por ejemplo, si una operación de archivo copia un archivo de 2000 bytes, FIRST.EXE, en el directorio C:\MYPROG, la función SetupQuerySpaceRequiredOnDrive comprueba automáticamente una versión preexistente de ese archivo en ese directorio. Si una versión preexistente de C:\MYPROG\FIRST.EXE tiene un tamaño de archivo de 500 bytes, el espacio adicional necesario en la unidad C para esa operación es de 1500 bytes.

El valor recibido puede ser 0 (cero) o un número negativo, si no se requiere espacio adicional o si el espacio se libera en la unidad de destino.

Si FIRST.EXE en el ejemplo anterior se elimina de la unidad C, la cantidad de espacio necesario es de 2000 bytes o el espacio libre en la unidad C.

Si la versión preexistente tiene un tamaño de archivo de 5000 bytes, el espacio en disco necesario para reemplazarlo por el FIRST.EXE de 2000 bytes es de 3000 bytes.

Los tamaños de archivo se redondean a los límites del clúster de disco.

[in] Reserved1

Reservados; debe ser 0 (cero).

[in] Reserved2

Reservados; debe ser 0 (cero).

Valor devuelto

Si la función se ejecuta correctamente, el valor devuelto es un valor distinto de cero y SpaceRequired recibe la cantidad de espacio necesario para las operaciones de archivo enumeradas en la lista de espacio en disco actual.

Si la función no se realiza correctamente, el valor devuelto es 0 (cero). Para obtener información de error extendida, llame a GetLastError.

Código devuelto Descripción
ERROR_INVALID_DRIVE
La unidad especificada no está en la lista de espacio en disco.
ERROR_INVALID_HANDLE
El identificador de DiskSpace especificado no es válido.
ERROR_INVALID_PARAMETER
La cadena DriveSpec especificada no es válida.

Comentarios

Nota

El encabezado setupapi.h define SetupQuerySpaceRequiredOnDrive como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado setupapi.h
Library Setupapi.lib
Archivo DLL Setupapi.dll

Vea también

Funciones

Información general

SetupQueryDrivesInDiskSpaceList