Функция |
Назначение |
|||||||||||||||||||||||||||||
AreFileApisANSI |
Определяет, использует ли набор файловых функций Win32 кодовую страницу набора символов ANSI или OEM |
|||||||||||||||||||||||||||||
CancellO |
Отменяет все невыполненные операции ввода/вывода для вызывающей нити |
|||||||||||||||||||||||||||||
CloseHandte |
Закрывает открытый дескриптор объекта |
|||||||||||||||||||||||||||||
CompareFileTime |
Сравнивает две 64-разрядные отметки времени файла |
|||||||||||||||||||||||||||||
CopyFile |
Копирует существующий файл в новый файл |
|||||||||||||||||||||||||||||
CopyFileEx |
Копирует существующий файл в новый файл, сохраняя расширенные атрибуты |
|||||||||||||||||||||||||||||
CreateDirectory |
Создает новый каталог |
|||||||||||||||||||||||||||||
CreateDirectoryEx |
Создает новый каталог с атрибутами образца каталога |
|||||||||||||||||||||||||||||
CreateFite |
Создает, открывает или переопределяет размеры такого объекта, как файл, канал, ресурс связи, дисковое устройство или консоль |
|||||||||||||||||||||||||||||
CreateFileMapping |
Создает именованный или неименованный объект отображения файла |
|||||||||||||||||||||||||||||
DeleteFile |
Удаляет файл |
|||||||||||||||||||||||||||||
DosDateTimeToFileTime |
Преобразует значения даты и времени MS-DOS в 64-разрядную отметку времени файла |
|||||||||||||||||||||||||||||
FileTkneToDosDateTime |
Преобразует 64-разрядную отметку времени файла в значения даты и времени MS-DOS |
|||||||||||||||||||||||||||||
FileTimeToLocalFHeTime |
Преобразует отметку времени файла, соответствующую значению универсального скоординированного времени (UTC — Universal Coordinated Time), в отметку времени файла, соответствующую значению местного времени |
|||||||||||||||||||||||||||||
FiteTimeToSystemTime |
Преобразует 64-разрядную отметку времени файла в формат системного времени |
|||||||||||||||||||||||||||||
FindCtose |
Закрывает дескриптор поиска |
|||||||||||||||||||||||||||||
FindCloseChangeNotrfkation |
Прекращает отслеживание дескриптора контроля изменений |
|||||||||||||||||||||||||||||
FindFirstChangeNotifkation |
Создает дескриптор контроля изменений |
|||||||||||||||||||||||||||||
FindFirstFile |
Ищет в каталоге первый файл, имя которого соответствует искомому имени |
|||||||||||||||||||||||||||||
FindFirstFileEx |
Ищет в каталоге файл, имя и атрибуты которого соответствуют искомому имени |
|||||||||||||||||||||||||||||
FindNextChangeNotification |
Запрашивает следующий дескриптор контроля изменений |
|||||||||||||||||||||||||||||
FindNextFile |
Находит следующий файл, имя которого соответствует искомому имени (вслед за вызовом функции FindFirstFile) |
|||||||||||||||||||||||||||||
FlushFileBuffers |
Записывает все буферизированные данные в файл и очищает буфера файла ^ |
|||||||||||||||||||||||||||||
Flush VfewOfFite |
Записывает на диск ряд байтов из отображенного представления файла |
|||||||||||||||||||||||||||||
GetFileAttributes |
Возвращает атрибуты файла |
|||||||||||||||||||||||||||||
GetFileAttributesEx |
Возвращает расширенные атрибуты файла |
|||||||||||||||||||||||||||||
GetFilelnformationByHandle |
Позволяет получить информацию о файле |
|||||||||||||||||||||||||||||
GetFileSize |
Позволяет определить размер файла в байтах |
|||||||||||||||||||||||||||||
GetFileTime |
Позволяет определить дату и время создания, последнего обращения и последнего изменения файла |
|||||||||||||||||||||||||||||
GetFileType |
Возвращает тип файла |
|||||||||||||||||||||||||||||
GetFullPathName |
Позволяет определить полный путь к файлу и его имя |
|||||||||||||||||||||||||||||
GetOverlappedResutt |
Возвращает результаты операции перекрывающегося ввода/ вывода, выполненной на объекте |
|||||||||||||||||||||||||||||
GetStdHandle |
Возвращает дескриптор стандартного потока ввода информации, вывода информации или вывода сообщений об ошибках |
|||||||||||||||||||||||||||||
GetTempFileName |
Создает временное имя файла |
|||||||||||||||||||||||||||||
GetTempPath |
Позволяет определить путь к каталогу для временных файлов |
|||||||||||||||||||||||||||||
LocalFileTimeToFileTime |
Преобразует отметку времени файла, соответствующую значению местного времени, в отметку времени файла, соответствующую значению всеобщего скоординированного времени (UTC — Universal Coordinated Time) |
|||||||||||||||||||||||||||||
LockFile |
Блокирует участок в открытом файле |
|||||||||||||||||||||||||||||
LockFileEx |
Блокирует ряд байтов в открытом файле для разделяемого или монопольного доступа |
|||||||||||||||||||||||||||||
MapViewOfFile |
Отображает представление файла в адресное пространство вызывающего процесса |
|||||||||||||||||||||||||||||
MapViewOfFileEx |
Отображает представление файла в предполагаемое адресное пространство вызывающего процесса |
|||||||||||||||||||||||||||||
MoveFile |
Перемещает файл или каталог и его подкаталоги |
|||||||||||||||||||||||||||||
MoveFileEx |
Перемещает файл или каталог с применением расширенных опций |
|||||||||||||||||||||||||||||
OpenFileMapping |
Открывает именованный объект отображения файла |
|||||||||||||||||||||||||||||
ReadFile |
Читает данные из файла |
|||||||||||||||||||||||||||||
ReadFileEx |
Читает данные из файла асинхронно |
|||||||||||||||||||||||||||||
RemoveDirectory |
Удаляет пустой каталог |
|||||||||||||||||||||||||||||
SearchPath |
Ищет файл |
|||||||||||||||||||||||||||||
SetEndOfFile |
Перемещает позицию конца файла (EOF — end-of-file) в текущую позицию указателя файла |
|||||||||||||||||||||||||||||
SetFileApisToANSI |
Устанавливает кодовую страницу в кодовую страницу набора символов ANSI для файловых функций Win32 |
|||||||||||||||||||||||||||||
SetFileApisToOEM |
Устанавливает кодовую страницу в кодовую страницу набора символов OEM для файловых функций Win32 |
|||||||||||||||||||||||||||||
SetFiteAttributes |
Устанавливает атрибуты файла |
|||||||||||||||||||||||||||||
SetFilePointer |
Перемещает указатель файла в открытом файле |
|||||||||||||||||||||||||||||
SetFileTime |
Устанавливает дату и время создания файла, его последнего изменения или последнего обращения к нему |
|||||||||||||||||||||||||||||
SetStdHandle |
Устанавливает дескриптор стандартного потока ввода информации, вывода информации или вывода сообщений. об ошибках |
|||||||||||||||||||||||||||||
SystemTimeToFileTime |
Преобразует системное время в отметку времени файла |
|||||||||||||||||||||||||||||
UnlockFile |
Разблокирует область в открытом файле |
|||||||||||||||||||||||||||||
UnlockFileEx |
Разблокирует ранее заблокированный ряд байтов в открытом файле |
|||||||||||||||||||||||||||||
UnmapViewOfFHe |
Отменяет отображение файла в адресном пространстве вызывающего процесса |
|||||||||||||||||||||||||||||
WriteFite |
Записывает данные в файл |
|||||||||||||||||||||||||||||
WriteFileEx |
Записывает данные в файл асинхронно |
|||||||||||||||||||||||||||||
AreFileApisANSI • Windows 98 • Windows 2000 |
||||||||||||||||||||||||||||||
Описание |
Функция AreFileApisANSI позволяет определить, использует ли набор файловых функций Win32 кодовую страницу набора символов ANSI или OEM. Эта функция применяется в 8-разрядных операциях ввода и вывода на консоль. От установки кодовой страницы зависит выполнение функций, перечисленных в разделе "См. также" в описании данной функции. |
|||||||||||||||||||||||||||||
Синтаксис |
BOOL AreFileApisANSI( VOID ) |
|||||||||||||||||||||||||||||
Параметры |
Эта функция не имеет параметров. |
|||||||||||||||||||||||||||||
Возвращаемое значение |
BOOL. Если в наборе файловых функций Win32 используется кодовая страница ANSI, возвращаемое значение — TRUE; а если используется кодовая страница OEM, возвращаемое значение — FALSE. |
|||||||||||||||||||||||||||||
Включаемый файл |
winbase.h |
|||||||||||||||||||||||||||||
См. также |
SetFileApisToANSI, SetFileApisToOEM, CopyFile, CreateDirectory, CreateFile, CreateProcess, DeleteFile, FindFirstFile, FindNextFile, GetCurrentDirectory, GetDiskFreeSpace, GetDriveType, GetFileAttributes, GetFullPathName, GetSystemDirectory, GetTerapFileName, GetTempPath, GetVolumelnformation, GetWindowsDirectory, LoadLibrary, LoadLibraryEx MoveFile, MoveFileEx, RemoveDirectory, SearchPath, SetCurrentDirectory SetFileAttributes |
|||||||||||||||||||||||||||||
Пример |
В следующем примере показана функция, которая проверяет, должны Л1 быть файловые функции Win32 установлены на поддержку ANSI ил! OEM, в зависимости от значения переданного параметра. Если файловы функции установлены неправильно, выполняется их установка на под держку ANSI или OEM с применением функций SetFileApisToANSI шц SetFileApisToOEM. |
|||||||||||||||||||||||||||||
VOID CheckFileAPIs ( BOOL bANSI ) { if ( bANSI SS ! AreFileApisANSI () ) SetFileApisToANSK) ; else if ( ! bANSI && AreFileApisANSI () ) SetFileApisToOEMO ; } |
||||||||||||||||||||||||||||||
CancellO • Windows 98 • Windows 2000 |
||||||||||||||||||||||||||||||
Описание |
Функция CancellO отменяет все невыполненные операции ввода и вывода, запросы на выполнение которых были выданы для указанного дескриптора файла вызывающей нитью. Эта функция не отменяет операции ввода/вывода, запросы на выполнение которых выданы для дескриптора файла другими нитями. Она применяется только к операциям ввода/вывода, которые были выданы в качестве перекрывающегося ввода/вывода. Если эти операции ввода/вывода не являются перекрывающимися, они не могут своевременно выполнить возврат, чтобы дать возможность нити вызвать функцию CancellO. Все отмененные операции ввода/вывода завершаются с ошибкой ERROR_OPERATION_ABORTED. |
|||||||||||||||||||||||||||||
Синтаксис |
BOOL CancelIO( HANDLE hFile ) |
|||||||||||||||||||||||||||||
Параметры hFile |
HANDLE. Дескриптор файла, для которого должна быть отменена невыполненная операция ввода/вывода. |
|||||||||||||||||||||||||||||
Возвращаемое значение |
BOOL. В случае успешного выполнения — TRUE; в ином случае — FALSE. |
|||||||||||||||||||||||||||||
Включаемый файл |
winbase.h |
|||||||||||||||||||||||||||||
См. также |
CreateFile, LockFileEx, ReadFile, ReadFileEx, WriteFile, WriteFileEx |
|||||||||||||||||||||||||||||
CloseHandl * Windows 98 * Windows 2000 |
||||||||||||||||||||||||||||||
Описание |
ФУНКЦИЯ CloseHandle закрывает открытый дескриптор объекта. Эта функция объявляет недействительным дескриптор объекта, уменьшает на единицу число дескрипторов объекта и проверяет сохранность объекта. После закрытия последнего дескриптора объекта он удаляется из системы. В приложении эту функцию можно использовать для закрытия дескрипторов объектов следующих типов: Ввод или вывод на консоль Файл события Отображение файла Взаимоисключающая блокировка Именованный канал Процесс Семафор Нить Лексемы (только Windows 2000) |
|||||||||||||||||||||||||||||
Синтаксис |
BOOL CloseHandle( HANDLE hObject ) |
|||||||||||||||||||||||||||||
Параметры |
||||||||||||||||||||||||||||||
hObject |
HANDLE. Дескриптор объекта, который должен быть закрыт. BOOL. В случае успешного выполнения — TRUE; в ином случае — |
|||||||||||||||||||||||||||||
Возвращаемое значение |
FALSE. |
|||||||||||||||||||||||||||||
Включаемый файл |
winbase.h |
|||||||||||||||||||||||||||||
См. также |
CreateFile, DeleteFile |
|||||||||||||||||||||||||||||
Пример |
См. пример для функции CompareFileTime. |
|||||||||||||||||||||||||||||
ComoareFileTime «• Windows 98 «• Windows 2000 |
||||||||||||||||||||||||||||||
Описание |
Функция < CompareFileTime сравнивает две 64-разрядные отметки времени файла. |
|||||||||||||||||||||||||||||
Синтаксис |
LONG CompareFileTime( CONST FILETIME* Ipftl, CONST FILETIME*Ipft2) |
|||||||||||||||||||||||||||||
Параметры Ipftl |
CONST FILETIME*. Указатель на структуру FILETIME, которая задает первую 64-разрядную отметку времени файла. Определение структуры FILETIME приведено ниже. |
|||||||||||||||||||||||||||||
Ipft2 |
CONST FILETIME*. Указатель на структуру FILETIME, которая задает вторую 64-разрядную отметку времени файла. Определение структуры FILETIME приведено ниже. |
|||||||||||||||||||||||||||||
Возвращаемое значение |
LONG. В случае успешного выполнения функция возвращает одно из значений, приведенных в табл. 17.2. |
|||||||||||||||||||||||||||||
Таблица 17.2. Возвращаемые значения функции CompareFileTime |
||||||||||||||||||||||||||||||
Значение |
Описание |
|||||||||||||||||||||||||||||
-1 |
Отметка времени первого файла меньше отметки времени второго файла. |
|||||||||||||||||||||||||||||
0 |
Отметка времени первого файла равна отметке времени второго файла. |
|||||||||||||||||||||||||||||
+1 |
Отметка времени первого файла больше отметки времени второго файла. |
|||||||||||||||||||||||||||||
Включаемый файл |
winbase.h |
|||||||||||||||||||||||||||||
См. также |
GetFileTime |
|||||||||||||||||||||||||||||
Определение FILETIME |
||||||||||||||||||||||||||||||
typedef struct FILETIME { DWORD dwLowDateTime ; DWORD dwHighDateTiroe; } FILETIME; . . |
||||||||||||||||||||||||||||||
Члены |
: |
|||||||||||||||||||||||||||||
dwLowDate Time |
DWORD. Младшие 32 бита отметки времени файла. |
|||||||||||||||||||||||||||||
dwffighDateTime |
DWORD. Старшие 32 бита отметки времени файла. |
|||||||||||||||||||||||||||||
Пример |
В следующем примере сравниваются отметки времени двух файлов, FILE1.TXT и FILE2.TXT, когда пользователь выбирает пункт меню Test!. Проверяются результаты выполнения функции CompareFileTime, и отображается соответствующее о'кно сообщения с результатами сравнения. |
|||||||||||||||||||||||||||||
См. \local-sources\chapl7\17-01.txt |
||||||||||||||||||||||||||||||
CopyFile • Windows 98 * Windows 2000 |
||||||||||||||||||||||||||||||
Описание |
Функция CopyFile копирует файл в новый файл. В новый файл копируются такие атрибуты файла, как FILE_ATTRIBUT E_READONLY. Атрибуты защиты в новый файл не копируются. |
|||||||||||||||||||||||||||||
Синтаксис |
BOOL CopyFile( LPCTSTR IpszExistingFile, LJPCTSTR IpszNewFile, BOOL bFaillfExists ) |
|||||||||||||||||||||||||||||
Параметры |
||||||||||||||||||||||||||||||
IpszExistingFile |
LPCTSTR. Указатель на строку с нулевым символом в конце, содержащую имя копируемого файла. |
|||||||||||||||||||||||||||||
IpszNewFile |
LPCTSTR. Указатель на строку с нулевым символом в конце, содержащую имя нового файла. |
|||||||||||||||||||||||||||||
bFaillfExists |
BOOL. Указывает, какое действие должно быть выполнено, если файл с именем, указанным параметром IpszNewFile, уже существует. Если этот параметр установлен равным TRUE и новый файл уже существует, функция не достигает успеха. Если этот параметр установлен равным FALSE и новый файл уже существует, функция перезаписывает существующий файл и завершается успешно |
|||||||||||||||||||||||||||||
Возвращаемое значение |
BOOL. В случае успешного выполнения — TRUE; в ином случае — FALSE. |
|||||||||||||||||||||||||||||
Включаемый файл |
winbase.h |
|||||||||||||||||||||||||||||
См. также |
MoveFile, CreateFlle, DeleteFile |
|||||||||||||||||||||||||||||
Пример |
В следующем примере файл FILE1.TXT копируется в файл FILE2.TXT, когда пользователь выбирает пункт меню Test!. Если FILE2.TXT уже существует, пользователь перед перезаписью существующего файла получает запрос. |
|||||||||||||||||||||||||||||
См. \local-sources\chapl7\17-02.txt |
||||||||||||||||||||||||||||||
CopyFileEx • Windows 98 • Windows 2000 |
||||||||||||||||||||||||||||||
Описание |
Функция CopyFileEx копирует существующий файл в новый. Эта функция сохраняет расширенные атрибуты, структурированную память OLE, альтернативные потоки данных NTFS и атрибуты файла. Атрибуты защиты существующего файла в новый файл не копируются. Функция CopyFileEx позволяет также следить за выполнением копирования. |
|||||||||||||||||||||||||||||
Синтаксис |
BOOL CopyF11eEx( LPCTSTR IpszExistingFile, LPCTSTR IpszNewFile, LPPROGRESS_ROUTINE IpProgressRoutine, LPVOID IpData, LPBOOL pbCancel, DWORD dwCopyFlags ) |
|||||||||||||||||||||||||||||
Параметры |
||||||||||||||||||||||||||||||
IpszExistingFile |
LPCTSTR Указатель на строку с нулевым символом в конце, содержащую имя файла, который должен быть скопирован. |
|||||||||||||||||||||||||||||
IpszNewFile |
LPCTSTR. Указатель на строку с нулевым символом в конце, которая содержит новое имя файла. |
|||||||||||||||||||||||||||||
IpProgressRoutine |
LPPROGRESS_ROUTINE. Адрес функции обратного вызова, которая вызывается при копировании каждой части файла. Этот параметр может быть равен NULL Определение функции обратного вызова приведено ниже. |
|||||||||||||||||||||||||||||
IpData |
LPVOID. Значение, определяемое приложением, которое должно быть передано функции обратного вызова. |
|||||||||||||||||||||||||||||
pbCancel |
LPBOOL. Указатель на логическую переменную, которая может использоваться для отмены операции. Если при выполнении копирования этот флажок устанавливается равным TRUE, оно отменяется. |
|||||||||||||||||||||||||||||
dwCopy/laji |
DWORD. Определяет способ копирования файла. Этот параметр может представлять собой комбинацию значений, перечисленных в табл. 17.3. |
|||||||||||||||||||||||||||||
Таблица 17.3. Значения параметра dwCopyFlags функции CopyFileEx |
||||||||||||||||||||||||||||||
Значение |
Описание |
|||||||||||||||||||||||||||||
COPY_FILE_FAILJF_EXISTS |
Операция копирования немедленно завершается неудачей, если файл назначения уже существует. |
|||||||||||||||||||||||||||||
COPY_FILE_RESTARTABLE |
Если операция копирования не достигает успеха, ход выполнения копирования регистрируется в файле назначения. Операцию копирования, завершившуюся неудачно, можно перезапустить позднее, указав те же значения для параметров IpExistingFile и IpNewFile. |
|||||||||||||||||||||||||||||
Возвращаемое значение |
BOOL. В случае успешного выполнения — TRUE; в ином случае — FALSE. |
|||||||||||||||||||||||||||||
Включаемый файл |
winbase.h |
|||||||||||||||||||||||||||||
См. также |
CreateFile, CopyFile, MoveFile |
|||||||||||||||||||||||||||||
Синтаксис обратного вызова DWORD WINAPI CopyProgressRoutine( LARGEJNTEGER TotalFileSize, LARGEJNTEGER Total BytesTransferred, LARGE JNTEGER StreamSize, LARGEJNTEGER StreamBytesTransferred, DWORD dwStreamNumber. DWORD dwCallbackReason, HANDLE hSourceFiIe, HANDLE, hDestinationFile, LPVOID IpDala ) |
||||||||||||||||||||||||||||||
Параметры обратного вызова |
||||||||||||||||||||||||||||||
TotalFileSize |
LARGEJNTEGER. Размер файла в байтах. |
|||||||||||||||||||||||||||||
TotalBytesTransferred |
||||||||||||||||||||||||||||||
LARGE_INTEGER Общее число байтов, перемещенных из файла ис«Я точника в файл назначения с начала операции копирования. |
||||||||||||||||||||||||||||||
StreamSize |
LARGEJNTEGER Общий размер текущего файлового потока, в байтах.; |
|||||||||||||||||||||||||||||
StreamBytes TransJ |
'erred |
|||||||||||||||||||||||||||||
LARGEJNTEGER. Общее число байтов в текущем потоке, перемещен-' ных из файла источника в файл назначения с начала операции копире-^ вания. |
||||||||||||||||||||||||||||||
dwStreamNumber |
DWORD. Текущий поток. При первом выполнении функции обратноч го вызова поток имеет номер 1 . |
|||||||||||||||||||||||||||||
dwCallbackReason |
DWORD. Причина выполнения функции обратного вызова. Если этот параметр установлен равным CALLBACK_CHUNKJ'INISHED, скопирована очередная часть файла данных. Если этот параметр установлен равным CALLBACK_STREAM_SWITCH, создан и должен быть вскоре скопирован еще один поток. Это — причина выполнения функции обратного вызова в первый раз. |
|||||||||||||||||||||||||||||
hSourcefile |
HANDLE. Дескриптор файла источника. |
|||||||||||||||||||||||||||||
hDestinationFile |
HANDLE. Дескриптор файла назначения. |
|||||||||||||||||||||||||||||
IpData |
LPVOID. Параметр IpData, переданный функции CopyFileEx. |
|||||||||||||||||||||||||||||
Возвращаемое зна |
чение обратного вызова DWORD. Функция обратного вызова должна возвратить значение PROGRESSJ3ONTINUE для продолжения операции копирования, PROGRESS J3ANCEL — для отмены операции копирования и удаления файла назначения, PROGRESS_STOP — для прекращения операции копирования или PROGRESSJJUIET — для продолжения операции копирования без дальнейшего выполнения функции обратного вызова. 98 защита файла и каталога не используется, поскольку эта операционная система не может обращаться к диску, отформатированному в файловой системе NTFS. |
|||||||||||||||||||||||||||||
Синтаксис |
BOOL CreateDirectory( LPCTSTR IpszPath, LPSECURITY_ATTRIBUTESIpSecurityAttributes ) |
|||||||||||||||||||||||||||||
Параметры |
||||||||||||||||||||||||||||||
IpszPath |
LPCTSTR. Указатель на строку с нулевым символом в конце, содержащую путь к каталогу, который должен быть создан. Длина строки не должна превышать МАХ_РАТН символов. В приложении Windows 2000 можно обойти это ограничение, вызвав широкую (W) версию функции CreateDirectory и поместив в начале строки символы "\\?\" или "\\7\UNC\" для отмены интерпретации пути. |
|||||||||||||||||||||||||||||
IpSecurityAttributes LPSECURITY_ATTRIBUTES. Указатель на структуру SECURITY_ATTRIBUTES, которая указывает атрибуты защиты для каталога. Файловая система должна обеспечивать поддержку защиты на уровне файловой системы NTFS; в ином случае этот параметр не имеет силы. Этот параметр не применяется в Windows 98, поскольку она не имеет файловой системы, которая поддерживает защиту. |
||||||||||||||||||||||||||||||
Возвращаемое значение |
BOOL. В случае успешного выполнения — TRUE; в ином случае — FALSE. |
|||||||||||||||||||||||||||||
Включаемый файл |
winbase.h |
|||||||||||||||||||||||||||||
См. также |
CreateDirectoryEx, RemoveDirectory |
|||||||||||||||||||||||||||||
Пример . |
В следующем примере создается каталог на другом компьютере с использованием функции CreateDirectory, когда пользователь выбирает пункт меню Test. На компьютере с именем "Bills-PC" создается каталог "New Directory" с использованием имени ресурса "Bills-C". |
|||||||||||||||||||||||||||||
См. \local-sources\chapl7\17-03. txt |
||||||||||||||||||||||||||||||
CreateDirectoryEx * Windows 98 * Windows 2000 |
||||||||||||||||||||||||||||||
Описание |
Функция CreateDirectoryEx аналогична CreateDirectory, за исключением того, что новый каталог сохраняет атрибуты заданного образца каталога. Если применяемая файловая система поддерживает защиту файлов и каталогов, эта функция применяет указанный дескриптор зашиты к новому каталогу. Новый каталог сохраняет также другие атрибуты образца каталога. |
|||||||||||||||||||||||||||||
Синтаксис |
BOOL CreateDirectoryEx( LPCTSTR IpTemplateDirectory, LPCTSTR IpNewDirectory, LPSECURITY_ATTRIBUTES IpSecurityAttributes ) |
|||||||||||||||||||||||||||||
Параметры |
||||||||||||||||||||||||||||||
IpTemplateDirectory |
||||||||||||||||||||||||||||||
LPCTSTR. Указатель на строку с нулевым символом в конце, содержащую путь к каталогу, который будет использоваться в качестве образца при создании нового каталога. |
||||||||||||||||||||||||||||||
IpNewDirectory |
LPCTSTR. Указатель на строку с нулевым символом в конце, содержащую путь к каталогу, который должен быть создан. |
|||||||||||||||||||||||||||||
CreateDirectory • Windows 98 * Windows 2000 |
||||||||||||||||||||||||||||||
Описание |
Функция CreateDirectory позволяет создать новый каталог. Если основополагающей файловой системой является NTFS или другая файловая система, которая поддерживает защиту файлов и каталогов, функция применяет к новому каталогу указанный дескриптор защиты. В ОС Windows |
|||||||||||||||||||||||||||||
IpSecurityAttribute: |
s LPSECURITY_ATTRIBUTES. Указатель на структуру SECURITY_ATTRIBUTES, которая указывает атрибуты защиты для каталога. Файловая система должна обеспечивать поддержку защиты на уровне файловой системы NTFS; в ином случае этот параметр не имеет силы. Этот параметр не применяется в Windows 98, поскольку в ней отсутствует файловая система, которая поддерживает защиту. |
|||||||||||||||||||||||||||||
Возвращаемое значение |
BOOL. В случае успешного выполнения — TRUE; в ином случае — FALSE. |
|||||||||||||||||||||||||||||
Включаемый файл |
winbase.h |
|||||||||||||||||||||||||||||
См. также |
CreateDirectory, RemoveDirectory |
|||||||||||||||||||||||||||||
Пример |
Следующий пример аналогичен примеру для функции CreateDirectory, за исключением того, что новый каталог создается с использованием функции CreateDirectoryEx с теми же атрибутами, что и образец каталога "Template Directory". |
|||||||||||||||||||||||||||||
См. \local-sources\chapl7\17-04. txt |
||||||||||||||||||||||||||||||
CreateFile• Windows 98 • Windows 2000 |
||||||||||||||||||||||||||||||
Описание |
Функция CreateFile создает, открывает такие объекты, как файл, канал, ресурс связи, дисковое устройство или поток ввода/вывода на консоль или изменяет их размеры. Эта функция открывает также каталог для доступа. Функция CreateFile возвращает дескриптор, который может применяться для доступа к объекту. |
|||||||||||||||||||||||||||||
Синтаксис |
HANDLE CreateFile( LPCTSTR IpszName, DWORD dwAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES IpSecurityAttributes, DWORD dwCreate, DWORD dwAttrsAndnags, HANDLE hTemplateFile ) |
|||||||||||||||||||||||||||||
Параметры IpszName |
LPCTSTR. Указатель на строку с нулевым символом в конце, содержащую имя файла, канала, ресурса связи, дискового устройства, консоли или другого объекта, который необходимо создать, открыть или изменить его размеры. Если параметр IpszName указывает путь к каталогу, длина строки не должна превышать МАХ_РАТН символов. В приложении Windows 2000 можно обойти это ограничение, вызвав широкую (W) версию функции CreateFile и поместив в начале строки символы "\\?\" или "\\7\UNC\" для отмены интерпретации пути. |
|||||||||||||||||||||||||||||
dwAccess |
DWORD. Тип доступа к файлу. Приложение может получить доступ для чтения, записи, для чтения и записи или для запроса устройства. Этот параметр может принимать значения, перечисленные в табл. 17.4, Для получения доступа для чтения и записи необходимо установить и GENERIC_READ, и GENERIC_WRITE |
|||||||||||||||||||||||||||||
dwShareMode |
DWORD. Определить способ совместного доступа к файлу. Этот параметр может состоять из значений, перечисленных в табл. 17.5. |
|||||||||||||||||||||||||||||
lp Security Attributes |
LPSECURITY_ATTRIBUTES. Указатель на структуру SECURITY_ATTRIBUTES, которая указывает атрибуты защиты для каталога. Файловая система должна обеспечивать поддержку защиты на уровне файловой системы NTFS; в ином случае этот параметр не имеет силы. Этот параметр не применяется в Windows 98, поскольку она не имеет файловой системы, которая поддерживает защиту. |
|||||||||||||||||||||||||||||
Таблица 17.4. Значения параметра dwAccess функции CreateFile |
||||||||||||||||||||||||||||||
Значение |
Описание |
|||||||||||||||||||||||||||||
0 |
Разрешить приложению запрашивать атрибуты устройства без фактического доступа к устройству. |
|||||||||||||||||||||||||||||
GENERIC_READ |
Определить доступ для чтения. Приложение может читать данные из файла и перемещать указатель файла. |
|||||||||||||||||||||||||||||
GENERIC WRITE |
Определить доступ для записи. Приложение может писать данные в файл и перемещать указатель файла. |
|||||||||||||||||||||||||||||
Таблица 17.5. Значения параметра dwShareMode функции CreateFile |
||||||||||||||||||||||||||||||
Значение |
Описание |
|||||||||||||||||||||||||||||
0 |
Запретить совместное использование файла. |
|||||||||||||||||||||||||||||
FILE_SHARE_DELETE |
(Только Windows 2000) Последующие операции открытия завершатся успешно, только если затребован доступ для удаления. |
|||||||||||||||||||||||||||||
FILE_SHARE_READ |
Файл может открываться для чтения. Это значение должно быть указано при открытии клиентской стороны почтового слота. |
|||||||||||||||||||||||||||||
FILE SHARE WRITE |
Файл может открываться для записи. |
|||||||||||||||||||||||||||||
dwCreate |
DWORD. Определяет действие, которое необходимо выполнить в том случае, если файл существует, и в том случае, если он не существует. Этот параметр должен иметь одно из значений, приведенных в табл. 17. 6. |
|||||||||||||||||||||||||||||
Таблица 17.6. Значения параметра dwCreate функции CreateFile |
||||||||||||||||||||||||||||||
Значение |
Описание |
|||||||||||||||||||||||||||||
CREATE ALWAYS |
Создать новый файл. Функция перезаписывает файл, если он существует. |
|||||||||||||||||||||||||||||
CREATE_NEW |
Создать новый файл. Функция не достигает успеха, если указанный файл уже существует. |
|||||||||||||||||||||||||||||
OPEN_ALWAYS |
Открыть файл, если он существует. Если файл не существует, функция создает файл, как если бы параметр dwCreate имел значение CREATE_NEW. |
|||||||||||||||||||||||||||||
OPEN EXISTING |
Открыть файл. Функция не достигает успеха, если файл не существует. |
|||||||||||||||||||||||||||||
TRUNCATE_EXISTING |
Открыть файл. После его открытия файл усекается так, чтобы его размер был равен 0 байтов. Вызывающий процесс должен открыть файл с параметром доступа не ниже GENERIC_WRITE. Функция не достигает успеха, если файл не существует. |
|||||||||||||||||||||||||||||
dwAttrsAnd 'Flags |
DWORD. Указывает атрибуты файла и флажки для файла. Приемлема любая комбинация значений атрибутов, приведенных в табл. 17.7; однако все прочие атрибуты файла отменяют атрибут FILE_ATTRIBUTE_NORMAL. |
|||||||||||||||||||||||||||||
Таблииа 17.7. Значения параметра dwAttrsAndFlags функции CreateFile |
||||||||||||||||||||||||||||||
Значение |
Описание |
|||||||||||||||||||||||||||||
FILE_ATTRIBUTE_ARCHIVE |
Файл является архивным. Это значение позволяет отметить файл для резервного копирования или удаления. |
|||||||||||||||||||||||||||||
FILE_ATTRIBUTE_ATOMIC_WRITE |
Зарезервированное значение; не должно использоваться. |
|||||||||||||||||||||||||||||
FILE_ATTRIBUTE_COMPRESSED |
Файл или каталог сжат. Применительно к файлу это означает, что все данные в файле сжаты. Если сжат каталог, то в нем создаваемые файлы и подкаталоги будут сжаты по умолчанию. |
|||||||||||||||||||||||||||||
FILE_ATTRIBUTE_ENCRYPTED |
Файл или каталог зашифрован. Применительно к файлу это означает, что все данные в файле зашифрованы. Если зашифрован каталог, шифрование будет применяться по умолчанию для вновь созданных файлов и подкаталогов. Этот флажок не имеет силы, если указан также атрибут FILE_ATTRIBUTE_SYSTEM. |
|||||||||||||||||||||||||||||
FILE_ATTRJBUTE_HIDDEN |
Файл является скрытым. |
|||||||||||||||||||||||||||||
FILE_ATTRIBUTE_NORMAL |
Файл не имеет атрибутов. Это значение допустимо при условии, что используется отдельно. |
|||||||||||||||||||||||||||||
FH.E_ATTRIBUTE_NOT_CONTENT_INDEXED |
Файл не должен быть проиндексирован службой индексации информационного наполнения. |
|||||||||||||||||||||||||||||
FILE_ATTRIBUTE_OFFLINE |
Данные файла не являются непосредственно доступными. Указывает, что данные файла физически перемещены на автономное запоминающее устройство. |
|||||||||||||||||||||||||||||
FH.E_ATTRIBUTE_READONLY |
Файл предназначен только для чтения. |
|||||||||||||||||||||||||||||
FILE_ATTRIBUTE_SYSTEM |
Файл является системным. |
|||||||||||||||||||||||||||||
FILE_ATTRIBUTE_TEMPORARY |
Файл используется для временного хранения данных. |
|||||||||||||||||||||||||||||
FILE_ATTRIBUTE_XACTION_WRITE |
Зарезервированное значение; не должно использоваться. |
|||||||||||||||||||||||||||||
FILE_FLAG_BACKUP_SEMANTICS |
(Только Windows 2000) Открывает или создает файл для операции резервного копирования или восстановления. Операционная система следит за тем, чтобы вызывающий процесс отменил проверку прав защиты файла, при условии, что имеет на это необходимое разрешение. Соответствующими разрешениями являются SE_BACKUP_NAME и SE_RESTORE_NAME. В приложении можно также установить этот флажок для получения дескриптора каталога. Дескриптор каталога можно передавать некоторым функциям Win32 вместо дескриптора файла. |
|||||||||||||||||||||||||||||
FB.E_aAG_DELETE_ON_CLOSE |
Файл должен быть удален сразу после того, как будут закрыты все его дескрипторы. |
|||||||||||||||||||||||||||||
FILE_FLAG_NO_BUFFERING |
Файл открыт без промежуточной буферизации или кэширования. Это позволяет в некоторых ситуациях обеспечить повышение производительности. Для работы с файлами, открытыми с флажком FILE_FLAG_NO_BUFFERING, приложение должно отвечать следующим требованиям: доступ к файлу должен начинаться со смещений в файле, кратных размеру сектора тома; доступ к файлу должен выполняться для ввода/ вывода числа байтов, кратных размеру сектора тома; адреса буферов для операций чтения и записи должны быть выровнены по границам адресов памяти, кратных размеру сектора тома. В приложении можно определить размер сектора тома, вызвав функцию GetDiskFreeSpace. |
|||||||||||||||||||||||||||||
FILE_FLAG_OPEN_REPARSE_POINT |
Запретить применять обычные правила в точках повторной интерпретации NTFS. При открытии файла возвращается дескриптор файла, независимо от того, действует ли фильтр, управляющий точкой повторной интерпретации. |
|||||||||||||||||||||||||||||
FILE_FLAG_OPEN_NO_RECAL |
Указывает, что затребованы данные файла, но файл должен no-прежнему находиться на удаленном запоминающем устройстве. Файл не следует снова перемещать на локальное запоминающее устройство. Этот флажок предназначен для использования в системах управления удаленными запоминающими устройствами или в системах иерархического управления памятью (Hierarchical Storage Management). |
|||||||||||||||||||||||||||||
FILE_FLAG_OVERLAPPED |
Выполнять перекрывающиеся операции чтения и записи. Операции ReadFile, WrrteFile, ConnectNamedPipe и TransactNamedPipe, для выполнения которых требуется много времени, возвращают сообщение об ошибке ERROR_IO_PENDING. После завершения операции предусмотрена также установка в сигнальное состояние определенного события. Если указан флажок FILE_FLAG_OVERLAPPED, в качестве одного из параметров вызова функций ReadFile и WrrteFile , должна быть указана структура OVERLAPPED. Если указан флажок FILE_FLAG_OVERLAPPED, операционная система не поддерживает указатель файла. Позиция файла должна быть передана в структуре OVERLAPPED. |
|||||||||||||||||||||||||||||
HLE_FLAG_POSIX_SEMANTICS |
Указывает, что доступ к файлу должен осуществляться согласно правилам POSIX. |
|||||||||||||||||||||||||||||
RLE_FLAG_RANDOM_ACCESS |
Оптимизировать кэширование файлов для произвольного доступа к файлу. |
|||||||||||||||||||||||||||||
HL£_FLAG_SEQUENTIAL_SCAN |
Оптимизировать кэширование файлов для последовательного доступа к файлу. |
|||||||||||||||||||||||||||||
HLE_H.AG_WRITE_THROUGH |
Запись будет выполняться непосредственно в файл, обходя кэш. |
|||||||||||||||||||||||||||||
HTemplateFile |
Если функция CreateFile открывает клиентскую сторону именованного канала, параметр dwAttrsAndFlags может также содержать информацию качества обеспечения защиты (SQOS — Security Quality of Service). Если в вызывающем приложении указан флажок SECURITY_SQOS_PRESENT, параметр dwAttrsAndFlags может содержать одно или несколько значений, приведенных в табл. 17.8. HANDLE. Дескриптор с правами доступа GENERIC_READ к шаблону файла. Шаблон файла предоставляет расширенные атрибуты для создаваемого файла. |
|||||||||||||||||||||||||||||
Таблица 17.8. Флажки защиты dwAttrsAndFlags функции CreateFile |
||||||||||||||||||||||||||||||
Значение |
Описание |
|||||||||||||||||||||||||||||
SECURITY_ANONYMOUS |
Сервер может выступать в роли клиента в режиме воплощения Anonymous (анонимный доступ). |
|||||||||||||||||||||||||||||
SECURITY_CONTEXT_TRACKING |
Указывает, что режим контроля защиты (Security Tracking Mode) является динамическим. Если этот флажок не указан, режим контроля защиты является статическим. |
|||||||||||||||||||||||||||||
SECURITY_DELEGATION |
Сервер может выступать в роли клиента в режиме воплощения Delegation (делегирование). |
|||||||||||||||||||||||||||||
SECURITY_EFFECTIVE_ONLY |
Указывает, что серверу доступны только определенные свойства контекста защиты клиента. Если этот флажок не указан, серверу доступны все свойства контекста защиты клиента. Этот флажок позволяет клиенту ограничивать группы свойств и права, которые могут использоваться сервером, выступающим в роли клиента. |
|||||||||||||||||||||||||||||
SECURITYJDENTIFICATION |
Сервер может выступать в роли клиента в режиме воплощения Identification (идентификация). |
|||||||||||||||||||||||||||||
SECURITYJMPERSONATION |
Сервер может выступать в роли клиента в режиме воплощения Impersonation. |
|||||||||||||||||||||||||||||
Возвращаемое значение |
HANDLE. В случае успешного выполнения — дескриптор открытого файла. Если файл существовал до вызова функции CreateFile и параметр dwCreate имеет значение CREATE_ALWAYS или OPEN_ALWAYS, вызов функции GetLastEiror возвращает сообщение об ошибке ERROR_ALREADY_EXISTS. Если файл до вызова функции CreateFile не существовал, вызов функции GetLastError возвращает значение 0. Если функция не достигает успеха, возвращаемое значение — INVALID_HANDLE_VALUE. |
|||||||||||||||||||||||||||||
Включаемый файл |
winbase.h |
|||||||||||||||||||||||||||||
См. также |
CIoseHandle, CreateFile, GetDiskFreeSpace, GetLastError, GetOverlappedResult, GetStdHandle, ReadFile, SetStdHandle, WriteFile |
|||||||||||||||||||||||||||||
Пример |
В следующем примере при запуске программы в результате обработки сообщения WM_CREATE открывается файл FILE.DAT, и в него записывается строка. Файл открывается для чтения/записи и остается открытым до завершения работы приложения. Когда пользователь выбирает пункт меню Test!, указатель файла устанавливается на начало файла с помощью функции SetFilePointer. Затем функция ReadFile считывает строку из файла. Если при чтении файла не было ошибок, программа отображает строку с помощью функции MessageBox. |
|||||||||||||||||||||||||||||
См. \local-sources\chapl7\17-05.txt |
||||||||||||||||||||||||||||||
CreateFileMapping • Windows 98 • Windows 2000 |
||||||||||||||||||||||||||||||
Описание |
Функция CreateFileMapping создает именованный или неименованный объект отображения файла. Размер файла не должен превышать размера созданного в приложении объекта отображения файла, чтобы все содержимое файла было доступно для совместного использования. Если в приложении для объекта отображения файла указан размер, превышающий размер заданного файла на диске, файл на диске увеличивается в соответствии с указанным размером объекта отображения файла. В Windows 98 дескрипторы, которые применялись для создания объекта отображения файла, не должны использоваться в последующих вызовах файловых функций ввода/вывода, таких как ReadFile и WriteFile, до тех пор, пока отображение файла не будет закрыто. |
|||||||||||||||||||||||||||||
Синтаксис |
HANDLE CreateFileMapping( HANDLE hfile, LPSECURITY_ATTRIBUTES IpSecurityAttributes, DWORD dwProtect, DWORD dwMaximumSizeHigh, DWORD dwMaximumSizeLow, LPCTSTR IpszMapName ) |
|||||||||||||||||||||||||||||
Параметры HFile |
HANDLE. Дескриптор файла, на основе которого должен быть создан объект отображения файла. Файл должен быть открыт с режимом доступа, совместимым с флажками зашиты, которые указаны параметром dwProtect. Рекомендуется открывать отображения файлов в приложении для монопольного доступа. Если этот параметр установлен равным OxFFFFFFFF, в параметрах dwMaximumSizeHigh и dwMaximumSizeLow должен быть также указан размер объекта отображения. Функция создает объект отображения файла указанного размера на основе системного файла подкачки, а не названного файла. Совместный доступ к объекту отображения файла может быть обеспечен как путем наследования или дублирования, так и путем указания того же имени. |
|||||||||||||||||||||||||||||
IpSecurityAttributes |
||||||||||||||||||||||||||||||
LPSECURITY_ATTRIBUTES. Указатель на структуру SECURITY_ATTRIBUTES, которая указывает атрибуты зашиты для объекта отображения. Если этот параметр установлен равным NULL, объект отображения файла создается с дескриптором защиты, заданным по умолчанию, и результирующий дескриптор не наследуется. |
||||||||||||||||||||||||||||||
dwProtect |
DWORD. Защита страницы, необходимая для представления файла при его отображении. Этот параметр может иметь одно из значений, приведенных в табл. 17.9. |
|||||||||||||||||||||||||||||
Таблица 17.9. Значения параметра защиты страницы dwProtect функции CreateFileMapping |
||||||||||||||||||||||||||||||
Значение |
Описание |
|||||||||||||||||||||||||||||
PAGE_READONLY |
Возможен доступ только для чтения к выделенной области страниц. Файл, указанный параметром /iF//e, должен быть создан с правами доступа GENERIC_READ. |
|||||||||||||||||||||||||||||
PAGE_READWRITE |
Возможен доступ для чтения/записи к выделенной области страниц. Файл, указанный параметром hFi/e, должен быть создан с правами доступа GENERIC_READ и GENERIC_WRITE. |
|||||||||||||||||||||||||||||
PAGE_WRITECOPY |
Возможно копирование и запись в выделенную область страниц. Файлы, указанные параметром flFffe, должны быть созданы с правами доступа GENERIC_READ и GENERIC_WRITE. |
|||||||||||||||||||||||||||||
В приложении можно также указать некоторые атрибуты раздела, объединяя с помощью двоичного оператора OR (|) одно или несколько значений флажков атрибутов раздела, приведенных в табл. 17.10, с одним из значений флажка защиты страницы, приведенных в табл. 17.9. |
||||||||||||||||||||||||||||||
Таблица 17. 10. Значения параметра атрибута раздела dwProtect функции CreateFileMapping |
||||||||||||||||||||||||||||||
Значение |
Описание |
|||||||||||||||||||||||||||||
SEC_COMMIT |
Выделять для всех страниц раздела физический объем в памяти или в файле подкачки на диске. Это — значение по умолчанию. |
|||||||||||||||||||||||||||||
SEC_IMAGE |
Файл, указанный параметром hFile, — выполняемый загрузочный модуль. Поскольку информация отображения и атрибуты защиты файла берутся из загрузочного модуля, при использовании этого значения не допустимы никакие иные атрибуты. |
|||||||||||||||||||||||||||||
SEC_NOCACHE |
Все страницы раздела должны быть установлены как некэшируемые. При установке этого значения должно быть также установлено значение SEC RESERVE или SEC COMMIT. Этот атрибут предназначен для аппаратных архитектур, требующих размещения в памяти различных блокирующих структур, которые никогда не загружаются в процессор. В компьютерах 80x86 и MIPS использование кэша для этих структур приводит только к снижению производительности, поскольку аппаратные средства должны поддерживать согласование кэшей. Некэшируемые данные требуются также для некоторых драйверов устройств, чтобы программы могли выполнять сквозную запись в физическую память. |
|||||||||||||||||||||||||||||
SEC_RESERVE |
Резервировать все страницы раздела без выделения физического объема памяти. Зарезервированные страницы нельзя использовать до их освобождения. Зарезервированные страницы можно только выделять в последующих вызовах функции VirtualAlloc. Этот атрибут допустим, только если параметр hFile имеет значение OxFFFFFFFF. dwMaximumSizeHighDWORD. Старшие 32 бита значения максимального размера объекта отображения файла. Для файлов с размером 4 Гбайт или менее этот параметр должен быть равен 0. |
|||||||||||||||||||||||||||||
dwMudmumSizeLow DWORD. Младшие 32 бита значения максимального размера объекта отображения файла. Если этот параметр и параметр dwMaximumSizeHigh равны 0, максимальный размер объекта отображения файла равен текущему размеру файла, указанному параметром hFile. |
||||||||||||||||||||||||||||||
IpszMapName |
LPCTSTR. Указатель на строку с нулевым символом в конце, содержащую имя объекта отображения. Имя может содержать любой символ, за исключением символа обратного слэша (\). Если этот параметр установлен равным NULL, объект отображения создается без имени. Если этот параметр совпадает с именем существующего именованного объекта отображения, функция запрашивает доступ к объекту отображения с правами защиты, указанными параметром dwProtect. |
|||||||||||||||||||||||||||||
Возвращаемое значение |
HANDLE. В случае успешного выполнения — дескриптор объекта отображения файла; в ином случае — NULL. Если объект существовал до вызова функции GetLastError, она возвращает сообщение об ошибке ERROR_ALREADY_EXISTS действительный дескриптор существующего объекта отображения файла. |
|||||||||||||||||||||||||||||
Включаемый файл |
winbase. h |
|||||||||||||||||||||||||||||
См. также |
MapViewOfFile, MapViewOfFileEx, OpenFileMapping |
|||||||||||||||||||||||||||||
Пример |
См. пример для функции MapViewOfFile. |
|||||||||||||||||||||||||||||
DeleteFile • Windows 98 • Windows 2000 |
||||||||||||||||||||||||||||||
Описание |
Функция DeleteFile удаляет существующий файл. Если приложение пытается удалить открытый или несуществующий файл, функция завершается неудачно. В Windows 2000 файл не может быть удален, если он открыт для ввода/вывода или операций отображения памяти. В Windows 98 файл всегда удаляется. |
|||||||||||||||||||||||||||||
Синтаксис |
BOOL DeleteFile( LPCTSTR IpszFileName ) |
|||||||||||||||||||||||||||||
Параметры IpszFileName |
LPCTSTR. Указатель на строку с нулевым символом в конце, содержащую имя файла, который должен быть удален. |
|||||||||||||||||||||||||||||
Возвращаемое значение |
BOOL. В случае успешного выполнения — TRUE; в ином случае — FALSE. |
|||||||||||||||||||||||||||||
Включаемый файл |
winbase.h |
|||||||||||||||||||||||||||||
См. также |
CloseHandle, CreateFile |
|||||||||||||||||||||||||||||
Пример |
См. пример для функции GetTempFileName. |
|||||||||||||||||||||||||||||
DosDateTimeToFileTime * Windows 98 + Windows 2000 |
||||||||||||||||||||||||||||||
Описание |
Функция DosDateTimeToFileTime преобразует значения даты и времени MS-DOS в 64-разрядную отметку времени. |
|||||||||||||||||||||||||||||
Синтаксис |
BOOL DosDateTimeToFileTime( WORD wDOSDate, WORD wDOSTime, LPFILETIME//»^) |
|||||||||||||||||||||||||||||
Параметры wDOSDate |
WORD. Дата MS-DOS. Дата представляет собой упакованное 16-разрядное значение в формате, описанном в табл. 17.11. |
|||||||||||||||||||||||||||||
Таблица 17.11. Значения параметра wDOSDate функции DosDateTimeToFileTime |
||||||||||||||||||||||||||||||
Биты |
Содержи/мое |
|||||||||||||||||||||||||||||
0-4 |
День месяца (1—31) |
|||||||||||||||||||||||||||||
5-8 |
Месяц (1 — январь, 2 — февраль и т.д.) |
|||||||||||||||||||||||||||||
9-15 |
Год с отсчетом от 1980 (для получения фактического значения года к этой величине необходимо прибавить 1980) |
|||||||||||||||||||||||||||||
wDOSTime |
WORD. Время MS-DOS. Время представляет собой упакованное 16-разрядное значение в формате, описанном в табл. 17.12. |
|||||||||||||||||||||||||||||
Таблица 17.12. Значения параметра wDOSTime фикции DosDateTimeToFileTime |
||||||||||||||||||||||||||||||
Биты |
Солержимое |
|||||||||||||||||||||||||||||
0-4 |
Секунды, деленные на 2 |
|||||||||||||||||||||||||||||
5-10 |
Минуты (0-59) |
|||||||||||||||||||||||||||||
11-15 |
Часы (от 0 до 23 в 24-часовом формате) |
|||||||||||||||||||||||||||||
LPFILETIME. Указатель на структуру FILETIME, которая принимает преобразованную 64-разрядную отметку времени. Определение структуры FILETIME приведено в описании функции CompareFileTime. |
||||||||||||||||||||||||||||||
Возвращаемое значение |
BOOL. В случае успешного выполнения — TRUE; в ином случае -FALSE. |
|||||||||||||||||||||||||||||
Включаемый файл |
winbase.h |
|||||||||||||||||||||||||||||
См. также |
FileTimeToDosDateTime, FileTimeToSystemTime, SystemTimeToFileTime, CompareFileTime |
|||||||||||||||||||||||||||||
Пример |
В следующем примере, когда пользователь выбирает пункт меню Test!, открывается существующий файл FILE.DAT или создается новый, если он не существует. Затем с помощью функции SetFileTime дата создания файла устанавливается на 1 января 1995 года, а время устанавливается равным 00:00:00. В приложении для заполнения структуры FILETIME значением даты применяется функция DosDateTimeToFileTime. Перед установкой даты создания файла в приложении используется функция LocalFileTimeToFileTime для преобразования местного времени в универсальное скоординированное время UTC. Обратите внимание, что две структуры, применяемые для создания 16-разрядных упакованных значений даты и времени, DOSDATE и DOSTIME, совместимы с Visual C++ 2.x. Другие трансляторы могут не обеспечивать возможность определять двоичную структуру таким образом. |
|||||||||||||||||||||||||||||
См. \locaJ-sources\chapl7\17-06.txt |
||||||||||||||||||||||||||||||
FileTimeToDosDateTime • Windows 98 • Windows 2000 |
||||||||||||||||||||||||||||||
Описание |
Функция FileTimeToDosDateTime преобразует 64-разрядную отметку времени в значения даты и времени MS-DOS. |
|||||||||||||||||||||||||||||
Синтаксис |
BOOL FileTimeToDosDateTime( CONST FILETIME* Ipft, LPWORD IpwDOSDate, LPWORD IpwDOSTime ) |
|||||||||||||||||||||||||||||
Параметры |
||||||||||||||||||||||||||||||
Ipft |
CONST FILETIME*. Указатель на,структуру FILETIME, содержащую 64-разрядную отметку времени, которая должна быть преобразована в формат даты и времени MS-DOS. Определение структуры FILETIME приведено в описании функции CompareFileTime. |
|||||||||||||||||||||||||||||
IpwDOSDate |
LPWORD. Указатель на переменную, которая принимает значение даты MS-DOS. Дата представляет собой упакованное 16-разрядное значение в формате, описанном в табл. 17.13. |
|||||||||||||||||||||||||||||
Таблица 17. 13. Значения параметра IpwDOSDate функции FileTimeToDosDateTime |
||||||||||||||||||||||||||||||
Виты |
Содержимое |
|||||||||||||||||||||||||||||
0-4 |
День месяца (1—31) |
|||||||||||||||||||||||||||||
5-8 |
Месяц (1 — январь, 2 — февраль и т.д.) |
|||||||||||||||||||||||||||||
9-15 |
Год с отсчетом от 1980 (для получения фактического значения года к этой величине необходимо прибавить 1980) |
|||||||||||||||||||||||||||||
IpwDOSTime |
LPWORD. Указатель на переменную, которая принимает значение времени MS-DOS. Время представляет собой упакованное 16-разрядное значение в формате, описанном в табл. 17.14. |
|||||||||||||||||||||||||||||
Таблица 17. 14. Значения параметра IpwDOSTime функции FileTimeToDosDateTime |
||||||||||||||||||||||||||||||
Виты |
Солержимое |
|||||||||||||||||||||||||||||
0-4 |
Секунды, деленные на 2 |
|||||||||||||||||||||||||||||
5-10 |
Минуты (0-59) |
|||||||||||||||||||||||||||||
11-15 |
Часы (от 0 до 23 в 24-часовом формате) |
|||||||||||||||||||||||||||||
Возвращаемое значение |
BOOL. В случае успешного выполнения — TRUE; в ином случае — FALSE. |
|||||||||||||||||||||||||||||
Включаемый файл |
winbase.h |
|||||||||||||||||||||||||||||
См. также |
DosDateTimeToFileTime, FileTimeToSystemTime, SystemTimeToFileTime, CompareFileTime |
|||||||||||||||||||||||||||||
Пример |
См. пример для функции FileTimeToLocalFileTime. |
|||||||||||||||||||||||||||||
FileTimeToLocalFileTime * Windows 98 + Windows 2000 |
||||||||||||||||||||||||||||||
Описание |
Функция FileTimeToLocalFileTime преобразует отметку времени, представленную в универсальном скоординированном времени UTC (Universal Coordinated Time), в отметку по местному времени. |
|||||||||||||||||||||||||||||
Синтаксис |
BOOL FileTimeToLocalFileTime( CONST FILETIME* Ipft, LPFILETIME IpftLocal) |
|||||||||||||||||||||||||||||
Параметры |
||||||||||||||||||||||||||||||
Ipft |
CONST FILETIME*. Указатель на структуру FILETIME, которая содержит отметку времени, представленную в универсальном скоординированном времени. Это время должно быть преобразовано в местное. Определение структуры FILETIME приведено в описании функции CompareFileTime. |
|||||||||||||||||||||||||||||
IpftLocal |
LPFILETIME. Указатель на структуру FILETIME, которая принимает значение преобразованной отметки местного времени. Этот параметр не должен быть равен параметру Ipft. Определение структуры FILETIME приведено в описании функции CompareFileTime. |
|||||||||||||||||||||||||||||
Возвращаемое значение |
BOOL. В случае успешного выполнения — TRUE; в ином случае, возвращаемое значение — FALSE. |
|||||||||||||||||||||||||||||
Включаемый файл |
winbase.h |
|||||||||||||||||||||||||||||
См. также |
LocalFileTimeToFileTime, CompareFileTime |
|||||||||||||||||||||||||||||
Пример |
В следующем примере, когда пользователь выбирает пункт меню Test!, открывается (или создается, если он не существует) файл FILE.DAT, и в клиентской области окна отображается дата и время создания файла. Отметка времени определяется с помощью функции GetFileTime и преобразуется в местное время функцией FileTimeToLocalFileTime. Местное время преобразуется в значения даты и времени в формате DOS. Время UTC преобразуется в системные значения даты и времени и отображается. Обратите внимание, что две структуры, применяемые для создания 16-разрядных упакованных значений даты и времени, DOSDATE и DOSTIME, совместимы с Visual C++. Другие трансляторы могут не обеспечивать возможность определять двоичную структуру таким образом. |
|||||||||||||||||||||||||||||
См. \local-sources\chapl7\17-07. txt |
||||||||||||||||||||||||||||||
FileTimeToSystemTime 4 Windows 98 + Windows 2000 |
||||||||||||||||||||||||||||||
Описание |
Функция FileTimeToSystemTime преобразует 64-разрядную отметку времени в системный формат времени. |
|||||||||||||||||||||||||||||
Синтаксис |
BOOL FiIeTimeToSystemTime( CONST FILETIME* Ipft, LPSYSTEMTIMEIpst) |
|||||||||||||||||||||||||||||
Параметры |
||||||||||||||||||||||||||||||
Ipft |
CONST FILETIME*. Указатель на структуру FILETIME, содержащую отметку времени, которая должна быть преобразована в системный формат даты и времени. Определение структуры FILETIME приведено в описании функции CompareFileTime. |
|||||||||||||||||||||||||||||
Ipst |
LPSYSTEMTIME. Указатель на структуру SYSTEMTIME, которая принимает преобразованную отметку времени. Определение структуры SYSTEMTIME приведено ниже. |
|||||||||||||||||||||||||||||
Возвращаемое значение |
BOOL. В случае успешного выполнения — TRUE; в ином случае — FALSE. |
|||||||||||||||||||||||||||||
Включаемый файл |
winbase.h |
|||||||||||||||||||||||||||||
См. также |
DosDatcTimeToFileTime, FileTimeToDosDateTime, SystemTimeToFileTime, CompareFileTime |
|||||||||||||||||||||||||||||
Определение SYSTEMTIMEtypedef struct SYSTEMTIME { WORD wYear; WORD «Month; WORD wDayOfWeek; WORD wDay ; WORD wHour; WORD «Minute; WORD wSecond; WORD «Millisecond», } SYSTEMTIME ; |
||||||||||||||||||||||||||||||
Члены |
||||||||||||||||||||||||||||||
wYear |
WORD. Текущий год. |
|||||||||||||||||||||||||||||
wMonth |
WORD. Текущий месяц; 1 — январь, 2 — февраль и т.д. |
|||||||||||||||||||||||||||||
wDayOJWeek |
WORD. Текущий день недели; 0 — воскресенье, 1 — понедельник и т.д. |
|||||||||||||||||||||||||||||
wDay |
WORD. Текущий день месяца. |
|||||||||||||||||||||||||||||
wHour |
WORD. Текущий час. |
|||||||||||||||||||||||||||||
w Minute |
WORD. Текущая минута. |
|||||||||||||||||||||||||||||
wSecond |
WORD. Текущая секунда. |
|||||||||||||||||||||||||||||
wMilliseconds |
WORD. Текущая миллисекунда. |
|||||||||||||||||||||||||||||
Пример |
См. пример для функции FileTimeToLocalFileTime. |
|||||||||||||||||||||||||||||
FindClose • Windows 98 • Windows 2000 |
||||||||||||||||||||||||||||||
Описание |
Функция FindClose закрывает дескриптор поиска, который был ранее создан с помощью функции FindFirstFile и применялся в функции FindNextFile. В функциях FindFirstFile и FindNextFile дескриптор поиска служит для поиска файлов с именами, соответствующими искомому имени. После вызова в приложении функции FindClose дескриптор поиска нельзя использовать в последующих вызовах функции FindNextFile или FindClose. |
|||||||||||||||||||||||||||||
Синтаксис |
BOOL FindClose( HANDLE hFindFile ) |
|||||||||||||||||||||||||||||
Параметры |
||||||||||||||||||||||||||||||
hFindFile |
HANDLE. Дескриптор поиска, который должен быть закрыт. Этот дескриптор должен быть перед этим открыт функцией FindFirstFile. |
|||||||||||||||||||||||||||||
Возвращаемое значение |
BOOL. В случае успешного выполнения — TRUE; в ином случае — FALSE. |
|||||||||||||||||||||||||||||
Включаемый файл |
winbase.h |
|||||||||||||||||||||||||||||
См. также |
FindFirstFile, FindNextFile |
|||||||||||||||||||||||||||||
Пример |
См. пример для функции FindFirstChangeNotification. |
|||||||||||||||||||||||||||||
FindCloseChangeNotification • Windows 98 • Windows 2000 |
||||||||||||||||||||||||||||||
Описание |
Функция FindCloseChangeNotification прекращает отслеживание извещений об изменениях для заданного дескриптора. После вызова этой функции дескриптор контроля изменений нельзя использовать в последующих вызовах функции FindNextChangeNotification или FindCloseChangeNotification. |
|||||||||||||||||||||||||||||
Синтаксис |
BOOL FindCloseChangeNotification( HANDLE hChange ) |
|||||||||||||||||||||||||||||
Параметры |
||||||||||||||||||||||||||||||
hChange |
HANDLE. Дескриптор контроля изменений, созданный в предыдущем вызове функции FindFirstChangeNotification. |
|||||||||||||||||||||||||||||
Возвращаемое значение |
BOOL. В случае успешного выполнения — TRUE; в ином случае — FALSE. |
|||||||||||||||||||||||||||||
Включаемый файл |
winbase.h |
|||||||||||||||||||||||||||||
См. также |
FindFirstChangeNotification, FindNextChangeNotification, WaitForMultipleObjects, WaitForSingleObject |
|||||||||||||||||||||||||||||
Пример |
См. пример для функции FindFirstChangeNotification. |
|||||||||||||||||||||||||||||
FindFirstChangeNotification • Windows 98 • Windows 2000 |
||||||||||||||||||||||||||||||
Описание |
Функция FindFirstChangeNotification создает дескриптор контроля изменений и устанавливает начальные условия фильтрации извещений об изменениях. Состояние ожидания, установленное для дескриптора контроля изменений, прерывается, когда в заданном каталоге или поддереве происходит изменение, соответствующее условиям фильтрации извещений. Состояние заданного каталога или поддерева контролируют функции WaitForSingleObject и WaitForMultipleObjects с использованием дескриптора, возвращаемого этой функцией. |
|||||||||||||||||||||||||||||
Синтаксис |
HANDLE FindFirstChangeNotification( LPCTSTR IpszPath, BOOL bWatchSubTree, DWORD dwFilter ) |
|||||||||||||||||||||||||||||
Параметры |
||||||||||||||||||||||||||||||
IpszPath |
LPCTSTR. Указатель на строку с нулевым символом в конце, содержащую путь к каталогу, изменения в котором необходимо контролировать. |
|||||||||||||||||||||||||||||
bWatchSubTree |
BOOL. Если этот параметр установлен равным TRUE, функция контролирует дерево каталогов, имеющее в качестве корня каталог, указанный параметром IpszPath. Если этот параметр установлен равным FALSE, функция контролирует только указанный каталог. |
|||||||||||||||||||||||||||||
dwfilter |
DWORD. Условия фильтрации, которые удовлетворяют требованиям контроля изменений. Этот параметр может иметь одно или несколько значений, приведенных в табл. 17.15, объединенных с помощью двоичного оператора OR (|). |
|||||||||||||||||||||||||||||
Таблица 17.15. Значения параметра dwFilter функции FindFirstChangeNotification |
||||||||||||||||||||||||||||||
Значение |
Описание |
|||||||||||||||||||||||||||||
FILE_NOTIFY_CHANGE_ATTRIBUTES |
Сообщать о любых изменениях атрибутов в контролируемом каталоге или поддереве. |
|||||||||||||||||||||||||||||
FILE_NOTIFY_CHANGE_DIR_NAME |
Сообщать о любом изменении имени, создании или удалении подкаталога в контролируемом каталоге или поддереве. |
|||||||||||||||||||||||||||||
FILE_NOTIFY_CHANGE_FILE_NAME |
Сообщать о любом изменения имени, создании или удалении файла в контролируемом каталоге или поддереве. |
|||||||||||||||||||||||||||||
FILE_NOTIFY_CHANGE_LAST_WRITE |
Сообщать о любом изменении отметки времени последней модификации файлов в контролируемом каталоге или поддереве. Операционная система обнаруживает изменение отметки времени последней модификации только при записи файла на диск. В тех операционных системах, где широко используется кэширование, обнаружение такой ситуации происходит только при выводе на диск достаточно большой части кэша. |
|||||||||||||||||||||||||||||
FILE_NOTIFY_CHANGE_SECURITY |
Сообщать о любом изменения дескриптора защиты в контролируемом каталоге или поддереве. |
|||||||||||||||||||||||||||||
FILE_NOTIFY_CHANGE_SIZE |
Сообщать о любом изменении размеров файлов в контролируемом каталоге или поддереве. Операционная система обнаруживает изменение размера файла только при записи файла на диск. В тех операционных системах, где широко используется кэширование, обнаружение такой ситуации происходит только при выводе на диск достаточно большой части кэша. |
|||||||||||||||||||||||||||||
Возвращаемое значение |
HANDLE. В случае успешного выполнения — дескриптор обнаруженного объекта контроля изменений; в ином случае — INVALID_HANDLE_VALUE |
|||||||||||||||||||||||||||||
Включаемый файл |
winbase.h |
|||||||||||||||||||||||||||||
См. также |
FindCloseChangeNotification, FindNextChangeNotification, WaitForMultipleObjects, WaitForSingleObject |
|||||||||||||||||||||||||||||
Пример |
В следующем примере (рис. 17.1) отображается каталог D:\TEMP и контролируется для обнаружения любых изменений. При добавлении новых файлов, изменении размера или отметки времени, или при удалении файла в окне появляется новое содержимое каталога. После запуска приложения функция FindFirstChangeNotification начинает контролировать изменения и создает нить для обработки извещений. При получении извещения об изменении окно обновляется. В приложении для поиска файлов в каталоге используются функции FindFirstFlle, FindNextFiIe и FlndClose. |
|||||||||||||||||||||||||||||
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.