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


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

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

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

Синтаксис

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

Параметры

[in] DiskSpace

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

[in] DriveSpec

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

Это должно быть в форме "x:" или "\server\share".

[out] SpaceRequired

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

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

Например, если операция с файлом копирует 2000-байтовый файл FIRST.EXE в каталог C:\MYPROG , функция setupQuerySpaceRequiredOn Drive автоматически проверяет наличие предварительной версии этого файла в этом каталоге. Если предварительная версия C:\MYPROG\FIRST.EXE имеет размер файла размером 500 байт, дополнительный пробел, необходимый для этой операции, составляет 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 [только классические приложения]
целевая платформа Виндоус
заголовка setupapi.h
библиотеки Setupapi.lib
DLL Setupapi.dll

См. также

Функции

Обзор

SetupQueryDrivesInDiskSpaceList