Поделиться через


Функция SetupQuerySpaceRequiredOnDriveA (setupapi.h)

[Эта функция доступна для использования в операционных системах, указанных в разделе Требования. В последующих версиях он может быть изменен или недоступен. SetupAPI больше не следует использовать для установки приложений. Вместо этого используйте установщик Windows для разработки установщиков приложений. SetupAPI по-прежнему используется для установки драйверов устройств.]

Функция SetupQuerySpaceRequiredOnDrive проверяет список дискового пространства, чтобы определить пространство, необходимое для выполнения всех операций с файлами, перечисленных для определенного диска.

Синтаксис

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

Параметры

[in] DiskSpace

Дескриптор списка дискового пространства.

[in] DriveSpec

Указатель на строку, завершающуюся нулевым значением, которая указывает диск, на который должны возвращаться сведения о пространстве.

Он должен иметь вид "x:" или "\server\share".

[out] SpaceRequired

Если функция выполняется успешно, этот параметр получает дополнительное пространство, необходимое для обработки всех операций с файлами, перечисленных в списке дискового пространства для диска, указанного в DriveSpec .

Функция SetupQuerySpaceRequiredOnDrive вычисляет дополнительное пространство, необходимое на целевом диске, проверив наличие хищных версий файлов на целевом диске.

Например, если операция с файлом копирует 2000-байтовый файл, FIRST.EXE, в каталог C:\MYPROG, функция SetupQuerySpaceRequiredOnDrive автоматически проверяет наличие ранее существовающей версии этого файла в этом каталоге. Если ранее существовающая версия C:\MYPROG\FIRST.EXE имеет размер файла 500 байт, дополнительное пространство на диске C, необходимое для этой операции, составляет 1500 байт.

Полученное значение может быть равно 0 (нулю) или отрицательному числу, если дополнительное пространство не требуется или если пространство освобождается на целевом диске.

Если FIRST.EXE в предыдущем примере удаляется с диска C, необходимое пространство составляет 2000 байт или свободное пространство, освобожденное на диске C.

Если размер файла ранее используемой версии составляет 5000 байт, то дисковое пространство, необходимое для замены 2000-байтным FIRST.EXE, составляет 3000 байт.

Размеры файлов округляются до границ дискового кластера.

[in] Reserved1

Защищены; значение должно быть равно 0 (ноль).

[in] Reserved2

Защищены; значение должно быть равно 0 (ноль).

Возвращаемое значение

Если функция выполняется успешно, возвращаемое значение не равно нулю, и SpaceRequired получает объем пространства, необходимого для операций с файлами, перечисленных в списке текущего места на диске.

Если функция завершается сбоем, возвращается значение 0 (ноль). Дополнительные сведения об ошибке можно получить, вызвав GetLastError.

Код возврата Описание
ERROR_INVALID_DRIVE
Указанный диск отсутствует в списке дискового пространства.
ERROR_INVALID_HANDLE
Указанный дескриптор DiskSpace недопустим.
ERROR_INVALID_PARAMETER
Указанная строка DriveSpec недопустима.

Комментарии

Примечание

Заголовок setupapi.h определяет SetupQuerySpaceRequiredOnDrive в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header setupapi.h
Библиотека Setupapi.lib
DLL Setupapi.dll

См. также

Функции

Обзор

SetupQueryDrivesInDiskSpaceList