Другие функции работы с файловой системой.


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; просмотров: 918;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.014 сек.