ВУЗ:
Составители:
24
возвращает значение ERROR_NO_MORE_FILES. Вы должны использовать такую си-
туацию для завершения цикла просмотра содержимого каталога.
После завершения цикла просмотра необходимо закрыть идентификатор поиска, вы-
звав для этого функцию FindClose:
BOOL FindClose (HANDLE hFindFile);
В качестве единственного параметра этой функции передается идентификатор поис-
ка, полученный от функции FindFirstFile.
В дополнение кратко опишем функции API Microsoft Windows NT, предназначен-
ные для получения информации о дисковых устройствах и состоянии файловой системы.
Для того чтобы определить список установленных в системе логических дисковых уст-
ройств, вы можете вызвать функцию GetLogicalDrives:
DWORD GetLogicalDrives(VOID);
Эта функция не имеет параметров и возвращает 32-разрядное значение, каждый бит
которого отвечает за свое логическое устройство. Самый младший, нулевой бит соответ-
ствует устройству с идентификатором А: бит с номером 1 - устройству с идентификато-
ром B: и так далее. Если бит установлен, устройство присутствует в системе, если нет -
отсутствует. Более развернутую информацию
о составе логических дисковых устройств в
системе можно получить при помощи функции
GetLogicalDriveStrings:
DWORD GetLogicalDriveStrings(
DWORD nBufferLength, // размер буфера
LPTSTR lpBuffer); // адрес буфера для записи сведений об устройствах
Если вызвать эту функцию с параметрами nBufferLength и lpBuffer, равными соот-
ветственно 0 и NULL, она вернет размер буфера, необходимый для записи информации о
всех логических дисковых устройствах, присутствующих в системе. После этого вы мо-
жете вызвать функцию GetLogicalDriveStrings еще раз, заказав предварительно буфер
нужного размера и указав функции правильный размер буфера. GetLogicalDriveStrings
заполнит буфер текстовыми строками вида:
A:\
B:\
С:\
Каждая такая строка закрыта двоичным нулем. Последняя строка будет закрыта
двумя двоичными нулями.
Определение типа дискового устройства можно выполнить с помощью функции
GetDriveType:
UINTGetDriveType(LPCTSTRlpRootPathName);
В качестве параметра функции GetDriveType нужно передать текстовую строку
имени устройства, например полученную при помощи функции GetLogicalDriveStrings.
В зависимости от типа указанного устройства функция
GetDriveType может вернуть од-
но из следующих значений, которые описаны в приведенной ниже таблице:
{PRIVATE}Значение Описание
0 Тип устройства не удалось определить
1 Указанный корневой каталог не существует
DRIVE_REMOVABLE Устройство со сменным носителем данных
DRIVE_FIXED Устройство с несменным носителем данных
возвращает значение ERROR_NO_MORE_FILES. Вы должны использовать такую си- туацию для завершения цикла просмотра содержимого каталога. После завершения цикла просмотра необходимо закрыть идентификатор поиска, вы- звав для этого функцию FindClose: BOOL FindClose (HANDLE hFindFile); В качестве единственного параметра этой функции передается идентификатор поис- ка, полученный от функции FindFirstFile. В дополнение кратко опишем функции API Microsoft Windows NT, предназначен- ные для получения информации о дисковых устройствах и состоянии файловой системы. Для того чтобы определить список установленных в системе логических дисковых уст- ройств, вы можете вызвать функцию GetLogicalDrives: DWORD GetLogicalDrives(VOID); Эта функция не имеет параметров и возвращает 32-разрядное значение, каждый бит которого отвечает за свое логическое устройство. Самый младший, нулевой бит соответ- ствует устройству с идентификатором А: бит с номером 1 - устройству с идентификато- ром B: и так далее. Если бит установлен, устройство присутствует в системе, если нет - отсутствует. Более развернутую информацию о составе логических дисковых устройств в системе можно получить при помощи функции GetLogicalDriveStrings: DWORD GetLogicalDriveStrings( DWORD nBufferLength, // размер буфера LPTSTR lpBuffer); // адрес буфера для записи сведений об устройствах Если вызвать эту функцию с параметрами nBufferLength и lpBuffer, равными соот- ветственно 0 и NULL, она вернет размер буфера, необходимый для записи информации о всех логических дисковых устройствах, присутствующих в системе. После этого вы мо- жете вызвать функцию GetLogicalDriveStrings еще раз, заказав предварительно буфер нужного размера и указав функции правильный размер буфера. GetLogicalDriveStrings заполнит буфер текстовыми строками вида: A:\ B:\ С:\ Каждая такая строка закрыта двоичным нулем. Последняя строка будет закрыта двумя двоичными нулями. Определение типа дискового устройства можно выполнить с помощью функции GetDriveType: UINTGetDriveType(LPCTSTRlpRootPathName); В качестве параметра функции GetDriveType нужно передать текстовую строку имени устройства, например полученную при помощи функции GetLogicalDriveStrings. В зависимости от типа указанного устройства функция GetDriveType может вернуть од- но из следующих значений, которые описаны в приведенной ниже таблице: {PRIVATE}Значение Описание 0 Тип устройства не удалось определить 1 Указанный корневой каталог не существует DRIVE_REMOVABLE Устройство со сменным носителем данных DRIVE_FIXED Устройство с несменным носителем данных 24
Страницы
- « первая
- ‹ предыдущая
- …
- 22
- 23
- 24
- 25
- 26
- …
- следующая ›
- последняя »