Другие функции работы с файловой системой.
CreateDirectory
Функция создаёт новую директорию.
объявлена в winbase.h.
BOOL CreateDirectory(
LPCTSTR lpPathName, // Указатель на строку содержащую путь к новой директории
LPSECURITY_ATTRIBUTES lpSecurityAttributes // Указатель на атрибуты
);
CreateDirectoryEx
Расширенная функция для создания новой директории. При создании используется указанный шаблон.
объявлена в winbase.h.
Объявление:
BOOL CreateDirectoryEx(
LPCTSTR lpTemplateDirectory,// Указатель на директорию-шаблон
LPCTSTR lpPathName, // Указатель на строку содержащую путь к новой директории
LPSECURITY_ATTRIBUTES lpSecurityAttributes // Указатель на атрибуты
);
GetCurrentDirectory
Функция позволяет узнать текущую директорию, с которой сейчас работает программа.
объявлена в winbase.h.
Объявление:
DWORD GetCurrentDirectory(
DWORD nBufferLength, // Размер буфера, в котором будет храниться путь
LPTSTR lpBuffer // Сам буфер
);
Если произошла ошибка, то функция вернёт 0. Если ОК, то она вернёт длину lpBuffer в котором хранится путь текущей директории.
SetCurrentDirectory
Функция позволяет узнать текущую директорию, с которой сейчас программа.
объявлена в winbase.h.
Объявление:
BOOL SetCurrentDirectory(
LPCTSTR lpPathName // Новая директория
);
Если произошла ошибка, то функция вернёт 0. Если всё ОК, то она вернёт не ноль.
RemoveDirectory
Функция удаляет директорию. Если внутри есть хотя бы один файл или другая директория, то произойдёт ошибка. Удаление возможно только пустой директории.
Объявление:
BOOL RemoveDirectory(
LPCTSTR lpPathName // Указатель на путь директории
);
Если всё ОК, то функция вернёт TRUE.
Пример использования: RemoveDirectory("с:Windows");
GetDiskFreeSpaceEx
Функция возвращает информацию о доступном дисковом пространстве.
Объявление:
BOOL GetDiskFreeSpaceEx(
LPCTSTR lpDirectoryName, // Имя диска
PULARGE_INTEGER lpFreeBytesAvailableToCaller,// Здесь вернут количество доступных байт
PULARGE_INTEGER lpTotalNumberOfBytes, // Общее количество байт на диске
PULARGE_INTEGER lpTotalNumberOfFreeBytes // Здесь вернут количество свободных байт
);
Первый параметр содержат имя диска, например 'c:' или 'D:'. В остальных параметрах нужно указать переменные, в которые будут помещены данные о диске.
Если всё ОК, то функция вернёт TRUE
GetCompressedFileSize
Функция возвращает сжатый размер файла если он находится на диске поддерживающем сжатие. Если диск не сжат, то функция вернёт актуальное значение размера.
Существует в: Win NT
объявлена в winbase.h. .
Объявление:
DWORD GetCompressedFileSize(
LPCTSTR lpFileName, // Имя файла
LPDWORD lpFileSizeHigh // Здесь вернут указатель на размер файла
);
В параметре lpFileSizeHigh возвращается только верхние два байта. Нижние два байта вернёт сама функция.
Если всё ОК, то функция возвращает младшие два байта размера диска, иначе возвращает 0xFFFFFFFF.
GetDriveType
Возвращает тип драйва, такого как диск, CD-ROM, сетевой диск и так далее.
объявлена в winbase.h. .
Объявление:
UINT GetDriveType(
LPCTSTR lpRootPathName // Описатель устройства
);
В качестве параметра можно передавать буквы диска в виде 'a:', 'B:', 'C:' и так далее. Если всё нормально, то функция вернёт:
- 0 - Устройство не определено.
- 1 - The root directory does not exist.
- DRIVE_REMOVABLE - переносное устройства.
- DRIVE_FIXED - не переносное устройство (типа жёсткого диска).
- DRIVE_REMOTE - удалённое устройство (типа сетевого диска).
- DRIVE_CDROM - CD-ROM.
- DRIVE_RAMDISK - диск памяти.
GetLogicalDrives
Функция возвращает маску доступных дисков
объявлена в winbase.h. .
Объявление:
DWORD GetLogicalDrives(VOID)
Функции не нужны параметры. Она возвращает маску доступных в системе дисков.
GetShortPathName
Возвращает укороченный путь к файлу (без использования длинных имён, как в старом DOS).
объявлена в winbase.h. .
Объявление:
DWORD GetShortPathName(
LPCTSTR lpszLongPath, //Указатель на длинный путь к файлу
LPTSTR lpszShortPath, // Сюда поместять результат
DWORD cchBuffer // Длинна буфера, куда поместят результат
);
если всё ОК, то функция вернёт длину строки lpszShortPath, где будет находится короткий путь к файлу.
GetTempPath
Возвращает путь к директории, в которой хранятся временные файлы. По умолчанию это c:\Windows\Temp.
объявлена в winbase.h. .
Объявление:
DWORD GetTempPath(
DWORD nBufferLength, // Размер буфера
LPTSTR lpBuffer // Буфер
);
Если всё ОК, то функция вернёт длину строки содержащей путь. Сам путь будет находится в буфере (второй параметр).
GetVolumeInformation
Получение информации о диске.
объявлена в winbase.h. .
Объявление:
BOOL GetVolumeInformation(
LPCTSTR lpRootPathName, // Какой диск
LPTSTR lpVolumeNameBuffer, // Буфер для имени метки
DWORD nVolumeNameSize, // Размер буфера метки
LPDWORD lpVolumeSerialNumber, // Серийный номер
LPDWORD lpMaximumComponentLength,// Максимальная длинна компонентов
LPDWORD lpFileSystemFlags, // Системные флаги
LPTSTR lpFileSystemNameBuffer,// Буфер имени файловой системы
DWORD nFileSystemNameSize // Размер буфера имени файловой сист.
);
SetVolumeLabel
Функция устанавливает метку тома
Существует в: Win NT, Win9x.
объявлена в winbase.h. .
Объявление:
BOOL SetVolumeLabel(
LPCTSTR lpRootPathName, // Указатель на имя тома
LPCTSTR lpVolumeName // Метка тома
);
Если всё ОК, то функция вернёт TRUE.
Дата добавления: 2017-01-26; просмотров: 996;