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


Функция GetDiskFreeSpaceExA (fileapi.h)

Извлекает сведения о количестве свободного места, доступном на томе диска, который является общим объемом пространства, общим объемом свободного места и общим объемом свободного места, доступным пользователю, связанному с вызывающим потоком.

Синтаксис

BOOL GetDiskFreeSpaceExA(
  [in, optional]  LPCSTR          lpDirectoryName,
  [out, optional] PULARGE_INTEGER lpFreeBytesAvailableToCaller,
  [out, optional] PULARGE_INTEGER lpTotalNumberOfBytes,
  [out, optional] PULARGE_INTEGER lpTotalNumberOfFreeBytes
);

Параметры

[in, optional] lpDirectoryName

Каталог на диске.

Если этот параметр null, функция использует корень текущего диска.

Если этот параметр является именем UNC, он должен включать конечную обратную косую черту, например "\\MyServer\MyShare\".

Этот параметр не должен указывать корневой каталог на диске. Функция принимает любой каталог на диске.

Вызывающее приложение должно иметь FILE_LIST_DIRECTORY права доступа для этого
каталог.

[out, optional] lpFreeBytesAvailableToCaller

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

Этот параметр может быть NULL.

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

[out, optional] lpTotalNumberOfBytes

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

Этот параметр может быть NULL.

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

Чтобы определить общее количество байтов на диске или томе, используйте IOCTL_DISK_GET_LENGTH_INFO.

[out, optional] lpTotalNumberOfFreeBytes

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

Этот параметр может быть NULL.

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

Если функция выполнена успешно, возвращаемое значение ненулевое.

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

Замечания

Значения, полученные этой функцией, относятся к типу ULARGE_INTEGER. Не усечение этих значений до 32 битов.

Функция GetDiskFreeSpaceEx возвращает ноль (0) для lpTotalNumberOfFreeBytes и lpFreeBytesAvailable для всех запросов cd, если диск не является незаписанным компакт-диском на диске CD-RW.

Поведение символьной связи— если путь указывает на символьную ссылку, операция выполняется в целевом объекте.

Заметка

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

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows XP [классические приложения | Приложения UWP]
минимальный поддерживаемый сервер Windows Server 2003 [классические приложения | Приложения UWP]
целевая платформа Виндоус
заголовка fileapi.h (включая Windows.h)
библиотеки Kernel32.lib
DLL Kernel32.dll

См. также

функции управления дисками

GetDiskFreeSpace

GetModuleHandle