Си. \local-sources\chapl7\17-08. txt |
||||||||||||||
FindFirstFile Описание |
• Windows 98 • Windows 2000Функция FindFirstFile ищет в каталоге первый файл, имя которого соответствует указанному искомому имени файла. Функция FindFirstFile проверяет не только имена файлов, но и имена подкаталогов. В приложении можно затем повторно вызывать функцию FindNextFiIe для выборки всех имен файлов и подкаталогов, соответствующих искомому имени файла. |
|||||||||||||
Синтаксис |
HANDLE FindFirstFile( LPCTSTR IpszSearchFile, LPWIN32 FIND DATA Ipffd) |
|||||||||||||
Параметры |
||||||||||||||
IpszSearcHFile |
LPCTSTR. Указатель на строку с нулевым символом в конце, содержащую допустимое обозначение каталога или пути и имя файла, которая может содержать символы-заместители (* и ?). Длина строки не должна превышать МАХ_РАТН символов. В приложении Windows 2000 можно обойти это ограничение, вызвав широкую (W) версию функции FindFirstFile и поместив в начале строки символы "\\?\" или "\\7\UNC\" для отмены интерпретации пути. |
|||||||||||||
Ipffil |
LPWIN32_FIND_DATA Указатель на структуру WIN32_FIND_DATA,которая принимает информацию о найденном файле или подкаталоге. Эта структура может использоваться в следующем вызове функции FindNextFiIe для указания найденного файла или каталога. Определение структуры WIN32_FIND_DATA приведено ниже. |
|||||||||||||
Возвращаемое значение |
HANDLE. В случае успешного выполнения — дескриптор поиска, используемый в следующих вызовах функции FindNextFiIe или FindClose; в ином случае - INVALID_HANDLE_VALUE. |
|||||||||||||
Включаемый файл |
winbase.h |
|||||||||||||
См. также FindFirstFileEx, FindClose, FindNextFiIe, GetFileAttributes, SetFileAttributes Определение WIN32_FIND_DATA |
||||||||||||||
typedef struct WIN32 FIND DATA { DWORD dwFileAttributes ; FILETIME f tCreationTime ; FILETIME ftLastAccessTime; FILETIME ftLastWriteTime; DWORD nFileSizeHigh; DWORD nFileSizeLow; DWORD dwReservedO ; DWORD dwReservedl ; TCHAR cFileName [ MAX_PATH ] ; TCHAR cAlterncteFileNam*[ 14 ]; } WIN32 FIND DATA; |
||||||||||||||
Члены dwFileAttributes |
DWORD. Атрибуты найденного файла. Этот член может иметь одно или несколько значений, перечисленных в табл. 17.16. |
|||||||||||||
Таблица 17.16. Значения члена dwFileAttributes структуры WIN32_FIND_DATA |
||||||||||||||
Значение |
Описание |
|||||||||||||
HLE_ATTRIBUTE_ARCHIVE |
Файл является архивным. |
|||||||||||||
FILE_ATTRIBUTE COMPRESSED |
Файл или каталог сжат. |
|||||||||||||
FILE_ATTRIBUTE_DIRECTORY |
Файл представляет собой каталог. |
|||||||||||||
FILE_ATTR!BUTE_ENCRYPTED |
Файл или каталог зашифрован. |
|||||||||||||
HLE_ATTRBUTE_HIDDEN |
Файл является скрытым. |
|||||||||||||
FILE_ATTRIBUTE_NORMAL |
Файл не имеет атрибутов. (Это значение допустимо, только если используется отдельно.) |
|||||||||||||
FILE_ATTRIBUTE_OFFLINE |
Данные файла не являются непосредственно доступными. Указывает, что данные файла физически перемещены на автономное запоминающее устройство. |
|||||||||||||
FILE_ATTRIBUTE_READONLY |
Файл предназначен только для чтения. |
|||||||||||||
FILE_ATTRIBUTE_REPARSE_POINT |
Файл имеет связанную с ним точку повторной интерпретации. |
|||||||||||||
FILE_ATTRIBUTE_SPARSE_FILE |
Файл является разреженным. |
|||||||||||||
FILE_ATTRBUTE_SYSTEM |
Файл является частью операционной системы или используется ею монопольно. |
|||||||||||||
FILE_ATTRIBUTE_TEMPORARY |
Файл используется для временного хранения данных. |
|||||||||||||
ftCreationlime |
FILETIME. Время создания файла. Значение 0,0 указывает, что файловая система, содержащая файл, не поддерживает значение времени, представленное этим членом. Определение структуры FILETIME приведено в описании функции CompareFileTime. |
|||||||||||||
ftLastAccessTime |
FILETIME. Время последнего доступа к файлу. Значение 0,0 указывает, что файловая система, содержащая файл, не поддерживает значение времени, представленное этим членом. Определение структуры FILETIME приведено в описании функции CompareFileTime. |
|||||||||||||
ftLastWriteTime |
FILETIME. Время последней записи в файл. Определение структуры FILETIME приведено в описании функции CompareFileTime. |
|||||||||||||
nFileSizeHigh |
DWORD. Старшее слово значения размера файла, в байтах. |
|||||||||||||
nFileSizeLow |
DWORD. Младшее слово значения размера файла, в байтах. |
|||||||||||||
dwReservedO |
DWORD. Зарезервированное значение; не должно использоваться. |
|||||||||||||
dwReservedl |
DWORD. Зарезервированное значение; не должно использоваться. |
|||||||||||||
cFileName |
TCHAR[MAX_PATH]. Строка с нулевым символом в конце, которая содержит имя файла. |
|||||||||||||
cAlternateFileNameTCHAR[14]. Строка с нулевым символом в конце, которая содержит альтернативное имя для файла, выраженное в формате 8.3 (filename. ext). |
||||||||||||||
Пример |
См. пример для функции FindFirstChangeNotification. |
|||||||||||||
FindFirstFileEx • Windows 98 • Windows 2000 |
||||||||||||||
Описание |
Функция FindFirstFileEx ищет в каталоге файл, имя и атрибуты которого соответствуют указанным в качестве параметров вызова. Если основополагающая файловая система не поддерживает фильтрацию определенного типа, отличную от фильтрации каталогов, функция FindFirstFileEx завершается неудачно. После нахождения первого файла в приложении для поиска остальных файлов, соответствующих такому же образцу, с выполнением такой же фильтрации применяется функция FindNextFile. Когда дескриптор поиска становится ненужным, его следует закрыть с использованием функции FindClose. |
|||||||||||||
Синтаксис |
HANDLE FindFirstFUeEx( LPCTSTR IpFileName, FINDEX_INFO_LEVELS flnfoLevelld, LPVOID IpFmdFileData, FINDEX_SEARCH_OPS fSearchOp, LPVOID IpSearchFilter, DWORD dwAdditionalFlags ) |
|||||||||||||
Параметры |
||||||||||||||
IpfileName |
LPCTSTR Указатель на строку с нулевым символом в конце, содержащую допустимое обозначение каталога или пути и имя файла; последнее может содержать символы-заместители (* и ?). |
|||||||||||||
flnfoLevelld |
FINDEX INFO LEVELS. Информационный уровень возвращенных данных. В настоящее время определено единственное значение — FindExInfoStandard. Если эта константа определена, то параметр IpFindFiteData представляет собой указатель на структуру WIN32_FIND_DATA. Определение структуры WIN32_FIND_DATA приведено в описании функции FindFirstFile. |
|||||||||||||
Ip Find File Data |
LPVOID. Указатель на данные файла. Тип этого указателя определен информационным уровнем, указанным в параметре flnfoLevelld. |
|||||||||||||
fSearchOp |
FINDEX_SEARCH_OPS. Тип фильтрации, которая должна быть выполнена дополнительно к согласованию с символами-заместителями. Этот параметр может иметь одно из значений, перечисленных в табл. 17.17. |
|||||||||||||
Таблица 17.17. Значения параметра fSearchOp функции FindFirstFileEx |
||||||||||||||
Значение |
Описание |
|||||||||||||
FindExSearchNameMatch |
Искать файл, который соответствует указанному имени. При этом параметр /pSearchF/'/fer должен иметь значение NULL. |
|||||||||||||
FindExSearchLimrtToDevices |
Возвращать только имена устройств. К именам устройств обычно можно получить доступ посредством соглашения \\,\<пате>. При этом параметр dwAdditionalFlags не может иметь значение FIND_FIRST_EX_CASE_SENSITIVE. |
|||||||||||||
FindExSearchLimitToDirectories |
Это — консультативный флажок. Если файловая система поддерживает фильтрацию имен каталогов, функция ищет файл, который соответствует указанному имени файла и является каталогом. Если файловая система не поддерживает фильтрацию имен каталогов, этот флажок игнорируется. При этом параметр /pSearchFl'/fer должен быть равен NULL. Если требуется фильтрация имен каталогов, этот флажок можно использовать во всех файловых системах; однако чтобы определить, возвратила ли функция дескриптор каталога, а не файла, необходимо исследовать данные атрибута файла, хранимые в параметре IpFindFileData. |
|||||||||||||
IpSearchFilter |
LPVOID. Если для поиска требуется структурированная информация, параметр IpSearchFilter указывает на переменную, содержащую критерии поиска. В настоящее время нет ни одной операции, для которой требовалась бы расширенная информация поиска; поэтому данный параметр должен иметь значение NULL. |
|||||||||||||
dwAdditionalFlags |
DWORD. Дополнительные флажки поиска. Для поиска с учетом регистра используется флажок FIND_FIRST_EX_CASE_SENSITIVE. |
|||||||||||||
Возвращаемое значение |
HANDLE. В случае успешного выполнения функция возвращает дескриптор, который может использоваться в функции FindNextFile; в ином случае возвращаемое значение — INVALID_HANDLE_VALUE. |
|||||||||||||
Включаемый файл |
winbase.h |
|||||||||||||
См. также |
FindFirstFile, FindNextFile, FindClose |
|||||||||||||
Пример |
В следующем фрагменте кода показан еще один вариант использований функций FindFirstFileEx и FindFirstFile. |
|||||||||||||
FindFirstFileEx ( IpFileName, FindExInfoStandard, IpFindData, FindExSearchNameMatch, NULL, 0 ); |
||||||||||||||
FindFirstFile ( IpFileName , IpFindData ) ; |
||||||||||||||
FindNextChanqeNotification • Windows 98 • Windows 2000 |
||||||||||||||
Описание |
Функция FindNextChangeNotification отправляет операционной системе запрос, в соответствии с которым система, обнаружив соответствующее изменение, должна вырабатывать сигнал об изменении состояния дескриптора контроля изменений. В приложении эта функция используется для установки состояния ожидания очередного изменения того же типа, который определен в вызове функции FindFirstChangeNotification. После успешного выполнения функции FindNextChangeNotification приложение может перехватывать сообщения о происшедших изменениях с помощью функции WaitForSingleObject или WaitForMultipleObjects. В приложении не следует вызывать функцию FindNextChangeNotification более одного раза на одном и том же дескрипторе без обращения к функции WaitForSingleObject или WaitForMultipleObjects. |
|||||||||||||
Синтаксис |
BOOL FindNextChangeNotification( HANDLE hChange ) |
|||||||||||||
Параметры |
||||||||||||||
hChange |
HANDLE. Дескриптор контроля изменений, созданный в предыдущем вызове функции FindFirstChangeNotification. |
|||||||||||||
Возвращаемое значение |
BOOL. В случае успешного выполнения — TRUE; в ином случае — FALSE. |
|||||||||||||
Включаемый файл |
winbase.h |
|||||||||||||
См. также |
FindCloseChangeNotification, FindFirstChangeNotification, WaitForMultipleObjects, WaitForSingleObject |
|||||||||||||
Пример |
См. пример для функции FindFirstChangeNotification. |
|||||||||||||
FindNextFile • Windows 98 • Windows 2000 |
||||||||||||||
Описание |
Функция FindNextFile ищет следующий файл, соответствующий искомому имени. Эта функция может применяться только после вызова функции FindFirstFile. В приложении функция FindNextFile вызывается повторно до тех пор, пока не будут обработаны все файлы и функция не вернет значение FALSE. |
|||||||||||||
Синтаксис |
BOOL FindNextFile( HANDLE hHndFile, LPWIN32_FIND_DATA Ipffd ) |
|||||||||||||
Параметры |
||||||||||||||
hFmdFile |
HANDLE. Дескриптор поиска, возвращенный после предыдущего вызова функции FindFirstFile. |
|||||||||||||
Ipffd |
LPWIN32_FIND_DATA. Указатель на структуру WIN32_FIND_DATA,которая принимает информацию о найденном файле или подкаталоге. Эта структура может использоваться в последующих вызовах функции Find-NextFile для ссылки на найденный файл или каталог. Определение структуры WIN32 FBVD_DATA приведено в описании функции FindFirstFile. |
|||||||||||||
Возвращаемое значение |
BOOL. В случае успешного выполнения — TRUE; в ином случае — FALSE. |
|||||||||||||
Включаемый файл |
winbase.h |
|||||||||||||
См. также |
FindClose, FindFirstFile, FindFirstFileEx, GetFileAttributes, SetFileAttributes |
|||||||||||||
Пример |
См. пример для функции FindFirstChangeNotification. |
|||||||||||||
FlushFileBuffers + Windows 98 + Windows 2000 |
||||||||||||||
Описание |
Функция FlushFileBuffers вызывает запись всех буферизированных данных в файл и очищает буферы файла. |
|||||||||||||
Синтаксис |
BOOL FlushFileBuffers( HANDLE hFile ) |
|||||||||||||
Параметры |
||||||||||||||
hFile |
HANDLE. Дескриптор открытого файла, для которого необходимо очистить буферы. Если этот параметр обозначает устройство связи, функция очищает только буфер передачи. Если этот параметр обозначает серверный конец именованного канала, функция не выполняет возврат, пока клиент не прочитает все буферизированные данные из канала. |
|||||||||||||
Возвращаемое значение |
BOOL. В случае успешного выполнения — TRUE; в ином случае — FALSE. |
|||||||||||||
Включаемый файл |
winbase.h |
|||||||||||||
См. также |
WriteFile, WriteFileEx |
|||||||||||||
Пример |
См. пример для функции LockFile. |
|||||||||||||
FlushVipwnfFilp • Windows 98 • Windows 2000 |
||||||||||||||
Описание |
Функция FlushViewOfFile переписывает на диск байты из отображенного в память представления файла. |
|||||||||||||
Синтаксис |
BOOL FlushViewOfFile( LPCVOID IpvBase, DWORD dwFlush ) |
|||||||||||||
Параметры |
||||||||||||||
IpvBase |
LPCVOID. Указатель на базовый адрес байтов, которые должны быть переписаны на диск из отображенного в память представления файла. |
|||||||||||||
dw Flush |
DWORD. Число байтов, которое должно быть выведено на диск. Если этот параметр установлен равным 0, вывод файла выполняется от базового адреса до конца отображения. |
|||||||||||||
Возвращаемое значение |
BOOL. В случае успешного выполнения — TRUE; в ином случае — FALSE. |
|||||||||||||
Включаемый файл |
winbase.h |
|||||||||||||
См. также |
MapViewOfFile, UnmapViewOfFile |
|||||||||||||
Пример |
См. пример для функции MapViewOfFile. |
|||||||||||||
GetFileAttributes • Windows 98 4 Windows 2000 |
||||||||||||||
Описание |
Функция GetFileAttributes возвращает атрибуты файла или каталога. |
|||||||||||||
Синтаксис |
DWORD GetFileAttributes( LPCTSTR IpszFileName ) |
|||||||||||||
Параметры |
||||||||||||||
IpszFileName |
LPCTSTR. Указатель на строку с нулевым символом в конце, содержащую имя файла или каталога. Длина строки не должна превышать МАХ_РАТН символов. В приложении Windows 2000 можно обойти это ограничение, вызвав широкую (W) версию функции GetFileAttributes и поместив в начале строки символы "\\?\" или "\\7\UNC\" для отмены интерпретации пути. |
|||||||||||||
Возвращаемое значение |
DWORD. В случае успешного выполнения — атрибуты указанного файла; в ином случае — OxFFFFFFFF. Атрибуты можно определить, используя двоичный оператор AND (&) со значениями, приведенными в табл. 17.16. |
|||||||||||||
Включаемый файл |
winbase.h |
|||||||||||||
См. также |
GetFileAttributesEx, FindFirstFile, FindFirstFileEx, FindNextFile, SetFileAttributes |
|||||||||||||
Пример |
См. пример для функции SetFileAttributes. |
|||||||||||||
GetFileAttributesEx • Windows 98 • Windows 2000 |
||||||||||||||
Описание |
Функция GetFileAttributesEx возвращает атрибуты файла или каталога. Эта функция аналогична функции GetFileAttributes, за исключением того, что возвращает дополнительную информацию о файле или каталоге. |
|||||||||||||
Синтаксис |
BOOL GetFileAttributesEx( LPCTSTR IpszFileName, GET_FILEEX_INFO_LEVELS flnfoLevelld, LPVOID IpFilelnformation ) |
|||||||||||||
Параметры |
i |
|||||||||||||
IpszFileName |
LPCTSTR. Указатель на строку с нулевым символом в конце, содержащую имя файла или каталога. Длина строки не должна превышать МАХ_РАТН символов. В приложении Windows 2000 можно обойти это ограничение, вызвав широкую (W) версию функции GetFileAttributes и поместив в начале строки символы "\\?\" или "\\7\UNC\" для отмены интерпретации пути. |
|||||||||||||
flnfoLevelld |
GET_FILEEX_INFO_LEVELS. Значение типа перечисления, которое определяет состав атрибутов, возвращаемых функцией. В настоящее время определено единственное значение — GetFileExInfoStandard, — в соответствии с которым функция возвращает стандартный набор атрибутов в структуре WIN32_FILE_ATTRIBUTE_DATA. В будущих версиях могут быть определены другие значения. |
|||||||||||||
IpFilelnformation |
LPVOID. Указатель на буфер, который принимает информацию об атрибутах. В настоящее время определена единственная структура — WIN32_FILE_ATTRIBUTE_DATA Определение структуры WIN32_FILE_ATTRIBUTE_DATA приведено ниже. |
|||||||||||||
Возвращаемое значение |
BOOL. В случае успешного выполнения — TRUE; в ином случае — FALSE. |
|||||||||||||
Включаемый файл |
winbase.h |
|||||||||||||
См. также |
FindFirstFile, FindFirstFileEx, FindNextFile, SetFileAttributes |
|||||||||||||
Определение WIN32_FILE_ATTRIBUTE_DATA typedef struct WIN32_FILE_ATTRIBUTE_DATA{ DWORD dwFileAttributes ; FILETIME f tCreationTime ; FILETIME ftLastAccessTime; FILETIME ftLastWriteTime; DWORD nFileSizeHigh; DWORD nFileSizeLow; } WIN32_FILE_ATTRIBUTE_DATA, *LPWIN32_FILE_ATTRIBOTE_DATA; |
||||||||||||||
Члены |
||||||||||||||
dwFileAttributes |
DWORD. Набор двоичных флажков, который определяет состав атрибутов файла или каталога в стиле FAT. Эта информация аналогична возвращаемой функцией GetFileAttributes и может представлять собой комбинацию значений, перечисленных в табл. 17.16. |
|||||||||||||
ftCreationlime |
FILETIME. Указывает время создания файла или каталога. |
|||||||||||||
ftLastAccessTime |
FILETIME. Для файла — дата и время выполнения последней операции чтения из файла или записи в него. Для каталога — дата и время создания каталога. Дата всегда является правильной; однако значение времени устанавливается равным 00:00:00 часов. |
|||||||||||||
ftLastWriteTime |
FILETIME. Для файла это значение указывает дату и время выполнения последней записи в файл. Для каталога это значение указывает дату и время создания каталога. |
|||||||||||||
nFileSizeHigh |
DWORD. Старшее двойное слово переменной с обозначением размера файла. |
|||||||||||||
nFileSizeLow |
DWORD. Младшее двойное слово переменной с обозначением размера файла. |
|||||||||||||
GetFilelnformationByHandle «• Windows 98 + Windows 2000 |
||||||||||||||
Описание |
Функция GetFilelnformationByHandle позволяет получить информацию о файле, который обозначен дескриптором файла. |
|||||||||||||
Синтаксис |
BOOL GetFileInformationByHandle( HANDLE hFile, LPBY_HANDLE_FILE_INFORMATION IpFilelnformation ) |
|||||||||||||
Параметры |
||||||||||||||
hFile |
HANDLE. Дескриптор файла, для которого должна быть получена информация. |
|||||||||||||
IpFilelnformation |
LPBY HANDLE_FILE_INFORMATION. Указатель на структуру BY HANDLE_FILE_INFORMATION, которая принимает информацию о файле. Определение структуры BY_HANDLE_FILE_INFORMATION приведено ниже. |
|||||||||||||
Возвращаемое значение |
BOOL. В случае успешного выполнения — TRUE; в ином случае — FALSE. |
|||||||||||||
Включаемый файл |
winbase.h |
|||||||||||||
См. также |
GetFileTime, GetFileSize, GetFUeType |
|||||||||||||
Определение BY_HANDLE_FILE_INFORMATION typedef struct BY HANDLE FILE INFORMATION { DWORD dwFileAttributes ; FILETIME ftCreationTime; FILETIME f tLastAccessTime ; FILETIME ftLastWriteTime; DWORD dwVolumeSerialNumbar; DWORD nFileSizeHigh; DWORD nFileSizeLow; DWORD nNumberOf Links ; DWORD nFilelndexHigh; DWORD nFilelndexLow; } BY_HANDLE_FILE_INFORMATION; |
||||||||||||||
Члены |
||||||||||||||
dwFileAttributes |
DWORD. Атрибуты файла. Этот член может иметь одно или несколько» значений, перечисленных в табл. 17.16. Для определения установлении атрибутов применяется двоичный оператор AND (&). |
|||||||||||||
ftCreationTime |
FILETIME. Время создания файла. Если применяемая файловая система не поддерживает это значение времени, член ftCreationTime равен 0. Определение структуры FILETIME приведено в описании функции Сот-pareFileTime. |
|||||||||||||
ftLastAccessTime |
FILETIME. Время последнего доступа к файлу. Если основополагающая файловая система не поддерживает это значение времени, член ftLast-AccessTime равен 0. Определение структуры FILETIME приведено в описании функции CompareFileTime. |
|||||||||||||
ftLastWriteTime |
FILETIME. Время выполнения последней записи в файл. Определение структуры FILETIME приведено в описании функции CompareFileTime. |
|||||||||||||
dw VolumeSerialNumber |
||||||||||||||
DWORD. Порядковый номер тома, который содержит файл. |
||||||||||||||
nHleSizeffigh |
DWORD. Старшие 32 бита размера файла. |
|||||||||||||
nFileSizeLow |
DWORD. Младшие 32 бита размера файла. |
|||||||||||||
nNumberOfLinks |
DWORD. Число ссылок на файл. Для файловых систем FAT и HPFS этот член всегда равен 1. Для файловых систем NTFS этот член может иметь значение больше единицы. |
|||||||||||||
nFilelndexHigh |
DWORD. Старшие 32 бита уникального идентификатора, связанного с файлом. |
|||||||||||||
nFilelndexLow |
DWORD. Младшие 32 бита уникального идентификатора, связанного с файлом. Этот идентификатор и порядковый номер тома однозначно определяют файл. После открытия файла процессом идентификатор остается неизменным до закрытия файла. В приложении можно использовать этот идентификатор и порядковый номер тома для того, чтобы прове рить, относятся ли два дескриптора к одному и тому же файлу. |
|||||||||||||
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.