-
Пример |
В следующем примере (рис. 17.2) показано, как использовать функцию GetFilelnformationByHandle для определения порядкового номера тома, на котором находится файл FILE.DAT. Когда пользователь выбирает пункт меню Test!, в окне сообщения отображается порядковый номер тома. |
||||||
См. \local-sources\chapl7\17-09.txt |
|||||||
GetFileSize • Windows 98 • Windows 2000 |
|||||||
Описание |
Функция GetFileSize позволяет определить размер файла в байтах. Применение этой функции с дескриптором устройства, не поддерживающего поиск (такого как, канал или устройство связи), не имеет смысла. Для определения типа файла служит функция GetFUeType. |
||||||
Синтаксис |
DWORD GetFileSize( HANDLE hFile, LPDWORD IpdwFileSizeHigh ) |
||||||
Параметры |
|||||||
hFile |
HANDLE. Дескриптор открытого файла, размер которого необходимо определить. Дескриптор должен быть создан с правами доступа к файлу GENERIC_READ или GENERIC_WRITE. |
||||||
IpdwFileSizeHigh |
LPDWORD. Указатель на переменную, в крторой должны быть возвращены старшие 32 бита размера файла. Этот параметр может быть равен NULL, если для приложения не требуются старшие 32 бита размера файла. |
||||||
Возвращаемое значение |
DWORD. В случае успешного выполнения — младшие 32 бита размера файла, а если параметр IpdwFileSizeHigh отличен от NULL, функция помещает старшие 32 бита размера файла в переменную, указанную этим параметром. Если функция завершается неудачно и параметр IpdwFileSizeHigh равен NULL, возвращаемое значение — OxFFFFFFFF. Если параметр IpdwFileSizeHigh отличен от NULL и функция завершается неудачно, возвращаемое значение — OxFFFFFFFF, и в приложении необходимо вызвать функцию GetLastError, чтобы определить, завершилась ли функция успешно. В следующем примере показано, как должна выполняться обработка ошибок. |
||||||
Включаемый файл |
winbase.h |
||||||
См. также Пример |
GetFUeType, GetFileTime, GetLastErrorВ следующем примере DisplayFileSize определена как функция, которая проверяет тип дескриптора файла. Если это файл на диске, функция определяет и отображает размер файла. Если это файл другого типа, отображается сообщение о том, что файл не находится на диске. |
||||||
См. \local-soarces\chapl7\17-10.txt |
|||||||
GetFileTime • Windows 98 • Windows 2000 |
|||||||
Описание |
Функция GetFileTime позволяет определить дату и время создания, последнего обращения и последнего изменения файла. В файловой системе FAT время создания и последнего обращения не регистрируются, а в файловых системах HPFS и NTFS эти значения регистрируются. |
||||||
Синтаксис |
BOOL GetFileTime( HANDLE hFile, LPFILETIME IpftCreation, LPFILETIME IpftLastAccess, LPFILETIME IpftLastWrite ) |
||||||
Параметры |
|||||||
hFile |
HANDLE. Дескриптор файла, для которого должны быть определены дата и время. Дескриптор файла должен быть создан с правами доступа к файлу GENERIC_READ. |
||||||
IpftCreation |
LPFILETIME. Указатель на структуру FILETIME, которая принимает дату и время создания файла. Этот параметр может быть равен NULL, если для приложения указанная информация не требуется. Определение структуры FILETIME приведено в описании функции CompareFileTime. |
||||||
IpftLastAccess |
LPFILETIME. Указатель на структуру FILETIME, которая принимает дату и время последнего доступа к файлу. Этот параметр может быть равен NULL, если для приложения указанная информация не требуется. |
||||||
IpftLast Write |
LPFILETIME. Указатель на структуру FILETIME, которая принимает дату и время выполнения последней операции записи в файл. Этот параметр может быть равен NULL, если для приложения указанная информация не требуется. |
||||||
Возвращаемое значение |
BOOL. В случае успешного выполнения — TRUE; в ином случае — FALSE. |
||||||
Включаемый файл |
winbase.h |
||||||
См. также |
GetFileSize, GetFileType, SetFileTime |
||||||
Пример |
См. пример для функции FileTimeToLocalFileTime. |
||||||
GetFileType • Windows 98 • Windows 2000 |
|||||||
Описание |
Функция GetFileType возвращает тип файла, который обозначен дескриптором файла. |
||||||
Синтаксис |
DWORD GetFileType( HANDLE hFile ) |
||||||
Параметры |
|||||||
hfile |
HANDLE. Дескриптор открытого файла. |
||||||
Возвращаемое значение |
DWORD. Функция возвращает одно из значений, перечисленных в табл. 17.18. |
||||||
Таблица 17. 18. Возвращаемые значения функции GetFileType |
|||||||
Значение |
Описание |
||||||
FILE_TYPE_CHAR |
Файл является символьным файлом; обычно это устройство LPT или консоль. |
||||||
FILE_TYPE_DISK |
Файл является дисковым файлом. |
||||||
FILE_TYPE_PIPE |
Файл является именованным или неименованным каналом. |
||||||
FILE_TYPE_UNKNOWN |
Тип файла неизвестен. |
||||||
Включаемый файл |
winbase.h |
||||||
См. также |
GetFileSize, GetFileTime |
||||||
Пример |
См. пример для функции GetFileSize. |
||||||
GetFullPathName • Windows 98 • Windows 2000 |
|||||||
Описание |
Функция GetFullPathName позволяет определить имя заданного файла и полный путь к нему. Эта функция объединяет имя текущего диска и каталога с указанным именем файла для получения полного пути и имени файла. Она также возвращает адрес имени файла в строке, содержащей полный путь и имя файла. Функция GetFullPathName не проверяет, является ли действительным полученное значение пути и имени файла и обозначает ли оно существующий файл, находящийся на соответствующем томе. |
||||||
Синтаксис |
DWORD GetFullPathName( LPCTSTR IpszFile, DWORD cchPath, LPTSTR IpszPath, LPTSTR* ppszFilePart ) |
||||||
Параметры |
|||||||
IpszFile |
LPCTSTR. Указатель на строку с нулевым символом в конце, которая содержит допустимое имя файла. |
||||||
cchPath |
DWORD. Размер буфера для записи имени диска и обозначения пути (в байтах (ANSI) или символах (Unicode)). |
||||||
IpszPath |
LPTSTR Указатель на буфер, который принимает строку с нулевым символом в конце, содержащую имя диска и обозначение пути к файлу. |
||||||
ppszfilePart |
LPTSTR*. Указатель на переменную, которая принимает адрес (в буфере IpszPath) заключительного компонента имени файла в обозначении пути. |
||||||
Возвращаемое значение |
DWORD. В случае успешного выполнения — длина в байтах или символах строки, скопированной в буфер IpszPath. Длина не включает завершающий нулевой символ. Если буфер IpszPath слишком мал, возвращаемое значение — размер (в байтах или символах) буфера, необходимого для размещения обозначения пути. Если функция выполнена неудачно, возвращаемое значение — 0. |
||||||
Включаемыйфайл |
winbase.h |
||||||
См. также |
GetTempPath, SearchPath |
||||||
Пример |
В следующем примере показано, как использовать в приложении функцию GetFullPathName для определения полного пути к файлу. Когда пользователь выбирает пункт меню Test!, в окне сообщения отображается полное имя пути к файлу FILE.DAT. |
||||||
См. \local-sources\chapl7\17-ll.txt |
|||||||
GetOverlappedResult • Windows 98 • Windows 2000 |
|||||||
Описание |
Функция GetOverlappedResult возвращает результаты перекрывающегося-ввода/вывода в указанном файле, именованном канале или устройстве связи. В Windows 98 эта функция может применяться только для последовательных устройств типа СОМ-портов. Если член HEvenl структуры OVERLAPPED равен NULL, система использует состояние дескриптора hFile для сигнализации о том, что операция закончена. Это не рекомендуется для дескриптора файла, именованного канала или устройства связи. Безопаснее использовать объект события для предотвращения путаницы при одновременном выполнении нескольких операций перекрывающегося ввода/вывода с одним и тем же дескриптором. |
||||||
Синтаксис |
BOOL GetOverlappedResult( HANDLE hFile, LPOVERLAPPED IpOverlapped, LPDWORD IpcbTransfer, BOOL bWait) |
||||||
Параметры |
|||||||
hFile |
HANDLE. Дескриптор файла, именованного канала или устройства связи, где был выполнен перекрывающийся ввод/вывод. |
||||||
lpOverlapped |
LPOVERLAPPED. Указатель на структуру OVERLAPPED, которая была указана при запуске перекрывающегося ввода/вывода. Определение структуры OVERLAPPED приведено в описании функции Read File далее в этой главе. |
||||||
IpcbTransfer |
LPDWORD. Указатель на 32-разрядную переменную, которая принимает число байтов, фактически перемещенных при чтении или записи. Для операции TransactNamedPipe этот параметр содержит число байтов, прочитанных из канала. Для операции ConnectNamedPipe или WaitCommEvent это значение является неопределенным. |
||||||
bWait |
BOOL. Если этот параметр установлен равным TRUE, функция не выполняет возврат, пока операция не будет закончена. Если этот параметр равен FALSE и операция все еще не выполнена, функция BOOL возвращает значение FALSE, а функция GetLastError — значение ERROR_IO_INCOMPLETE. |
||||||
Возвращаемое значение |
BOOL. В случае успешного выполнения — TRUE; в ином случае — FALSE. |
||||||
Включаемый файл |
winbase.h |
||||||
См. также |
CreateEvent, GetLastError, ReadFile, WriteFile |
||||||
Пример |
В следующем примере выполняется запись строки в порт связи "COM2" с использованием перекрывающегося ввода/вывода. Когда пользователь выбирает пункт меню Test!, создается событие и открывается порт "COM2". В ходе операции перекрывающегося ввода/вывода в порт связи с помощью функции WriteFile отправляется строка "ATDT". Затем в приложении для получения результатов операции применяется функция GetOverlappedResult. |
||||||
См. \local-sources\chapl7\17-12.txt |
|||||||
GetStdHandle • Windows 98 « Winrinw; 7nnn |
|||||||
Описание |
Функция GetStdHandle возвращает дескриптор стандартного устройства ввода информации, вывода информации или вывода сообщений об ошибках. В приложениях дескрипторы, возвращенные функцией GetStdHandle, могут использоваться для чтения и записи на консоль. Эти дескрипторы можно применять в функции ReadFile или WriteFile или в любой функции работы с консолью, имеющей доступ к буферу ввода консоли или буферу дисплея, такой как ReadConsolelnput или WriteConsoIe. |
||||||
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.