
| 
   Синтаксис  | 
  
   HANDLE GetStdHandle( DWORD dwDevice )  | 
 ||
| 
   Параметры  | 
  |||
| 
   dwDevice  | 
  
   DWORD. Устройство, для которого должен быть возвращен дескриптор. Этот параметр может иметь одно из значений, приведенных в табл. 17.19.  | 
 ||
| 
   Таблица 17.19. Значения параметра dwDevice функции GetStdHandle  | 
 |||
| 
   Значение  | 
  
   Описание  | 
 ||
| 
   STD_INPUT_HANDLE  | 
  
   Дескриптор стандартного устройства ввода информации  | 
 ||
| 
   STD_OUTPUT_HANDLE  | 
  
   Дескриптор стандартного устройства вывода информации  | 
 ||
| 
   STD ERROR_HANDLE  | 
  
   Дескриптор стандартного устройства вывода сообщений об ошибках  | 
 ||
| 
   Возвращаемое значение  | 
  
   HANDLE. В случае успешного выполнения — дескриптор указанного устройства; в ином случае — INVALID_HANDLE_VALUE.  | 
 ||
| 
   Включаемыйфайл  | 
  
   winbase.h  | 
 ||
| 
   См. также  | 
  
   SetStdHandle  | 
 ||
| 
   Пример  | 
  
   В следующем примере при запуске приложения с помощью функции AHocConsole создается окно консоли (рис. 17.3). Когда пользователь выбирает пункт меню Test!, в окне консоли отображается строка "This string is sent to the console".  | 
 ||
| 
   См. \local-sources\chapl7\17-13.txt  | 
 |||
Рисунок 17.3. Пример применения функции GetStdHandle
| 
   GetTempFileName * Windows 98 + Windows 2000  | 
 |||||||||
| 
   Описание  | 
  
   Функция GetTempFileName создает временное имя файла в следующем формате: path\preuuuu.tmp. В табл. 17.20 описаны компоненты имени этого файла. При останове системы Windows временные файлы, имена которых были созданы с помощью этой функции, автоматически не удаляются.  | 
 ||||||||
| 
   Таблица 1 7.20. Компоненты имени файла GetTempFileName  | 
 |||||||||
| 
   Компонент  | 
  
   Описание  | 
 ||||||||
| 
   path  | 
  
   Путь, указанный параметром IpszPath  | 
 ||||||||
| 
   рте  | 
  
   Первые три символа строки /pszPref/x  | 
 ||||||||
| 
   UUUU  | 
  
   Шестнадцатиричное значение параметра uUn/que или сгенерированное системой уникальное число  | 
 ||||||||
| 
   Синтаксис  | 
  
   UINT GetTempFileName( LPCTSTR IpszPath, LPCTSTR IpszPrefix, UINT u Unique, LPTSTR IpszTempFile )  | 
 ||||||||
| 
   Параметры  | 
  |||||||||
| 
   IpszPath  | 
  
   LPCTSTR. Указатель на строку с нулевым символом в конце, содержащую путь, по которому функция создает временное имя файла. В приложениях в качестве этого параметра обычно указывают точку (.) или результат вызова функции GetTempPath. Если этот параметр равен NULL, функция ;не достигает успеха.  | 
 ||||||||
| 
   IpszPrefix и Unique  | 
  
   LPCTSTR. Указатель на строку с нулевым символом в конце, которая используется как префикс имени временного файла. UINT. Целое число без знака, используемое при создании имени временного файла. Если этот параметр отличен от нуля, он присоединяется к имени временного файла. Если этот параметр равен 0, система Windows для создания числа, присоединяемого к имени файла, использует текущее системное время.  | 
 ||||||||
| 
   IpszTempFile  | 
  
   LPTSTR. Указатель на буфер, в котором размещается имя временного файла с нулевым символом в конце. Для размещения значения пути этот буфер должен иметь длину (в байтах) не менее МАХ_РАТН.  | 
 ||||||||
| 
   Возвращаемое значение  | 
  
   UINT. В случае успешного выполнения — уникальное числовое значенй используемое в имени временного файла. Если параметр и Unique отличе от нуля, возвращаемое значение содержит то же число. Если функция t достигает успеха, возвращаемое значение — 0.  | 
 ||||||||
| 
   Включаемый файл  | 
  
   winbase.h  | 
 ||||||||
| 
   См. также  | 
  
   CreateFile, GetTempPath  | 
 ||||||||
| 
   Пример  | 
  
   В следующем примере показано, как использовать функции GetTempPath и GetTempFileName для получения временного имени файла. При запуске приложения создается временный файл и открывается для использования. Перед завершением работы приложения файл закрывается и удаляется.  | 
 ||||||||
| 
   См . \ local -source» \ chapl 7\17-14.txt  | 
 |||||||||
| 
   GetTempPath • Windows 98 • Windows 2000  | 
 |||||||||
| 
   Описание  | 
  
   Функция GetTempPath позволяет определить путь к каталогу, предназначенному для временных файлов. Для временных файлов должен использоваться именно этот путь.  | 
 ||||||||
| 
   Синтаксис  | 
  
   DWORD GetTempPath( DWORD dwBuffer, LPTSTR IpszTempPath )  | 
 ||||||||
| 
   Параметры  | 
  |||||||||
| 
   dwBuffer  | 
  
   DWORD. Размер буфера IpszTempPath в байтах (ANSI) или символах (Unicode).  | 
 ||||||||
| 
   IpszTempPath  | 
  
   LPTSTR. Указатель на строковый буфер, который принимает строку с нулевым символом в конце, обозначающую временный путь к файлу.  | 
 ||||||||
| 
   Возвращаемое значение  | 
  
   DWORD. В случае успешного выполнения — длина в байтах (ANSI) или символах (Unicode) строки, скопированной в буфер IpszTempPath. Длина не включает завершающий нулевой символ. Если функция не достигает успеха, возвращаемое значение — 0. Если возвращаемое значение превышает значение dwBuffer, функция возвращает размер (в байтах или символах) буфера, необходимого для размещения строки с обозначением пути.  | 
 ||||||||
| 
   Включаемый файл  | 
  
   winbase.h  | 
 ||||||||
| 
   См. также  | 
  
   GetTempFileName  | 
 ||||||||
| 
   Пример  | 
  
   См. пример для функции GetTempFileName.  | 
 ||||||||
| 
   LocalFileTimeToFileTime • Windows 98 • Windows 2000  | 
 |||||||||
| 
   Описание  | 
  
   Функция LocalFileTimeToFileTime преобразует отметку местного времени в отметку времени, соответствующую значению универсального скоординированного времени (UTC).  | 
 ||||||||
| 
   Синтаксис  | 
  
   BOOL LocalFileTimeToFileTime( CONST FILETIME* IpftLocal, LPFILETIME Ipft )  | 
 ||||||||
| 
   Параметры  | 
  |||||||||
| 
   IpftLocal  | 
  
   CONST FILETIME*. Указатель на структуру FILETIME, содержащую отметку местного времени, которая должна быть преобразована в отметку времени, соответствующую UTC. Определение структуры FILETIME приведено в описании функции CompareFileTime.  | 
 ||||||||
| 
   Ipft  | 
  
   LPFILETIME. Указатель на структуру FILETIME, которая должна принять преобразованную отметку времени, соответствующую UTC. Этот параметр не может быть равен параметру IpftLocal Определение структуры FILETIME приведено в описании функции CompareFileTime.  | 
 ||||||||
| 
   Возвращаемое значение  | 
  
   BOOL. В случае успешного выполнения — TRUE; в ином случае — FALSE.  | 
 ||||||||
| 
   Включаемыйфайл  | 
  
   winbase.h  | 
 ||||||||
| 
   См. также  | 
  
   FileTimeToLocalFileTime  | 
 ||||||||
| 
   Пример  | 
  
   См. пример для функции DosDateTimeToFileTime.  | 
 ||||||||
| 
   LockFile • Windows 98 • Windows 2000  | 
 |||||||||
| 
   Описание  | 
  
   Функция LockFile блокирует участок в открытом файле и предоставляет блокирующему процессу монопольный доступ к указанному участку, отказывая всем другим процессам в доступе к этому участку для чтения и для записи. Блокировки не могут перекрывать существующие заблокированные участки файла. Для разблокирования участка применяется функция UnlockFile.  | 
 ||||||||
| 
   Синтаксис  | 
  
   BOOL LockFile( HANDLE hFile, DWORD dwFileOffsetLow, DWORD dwFileOffsetHigh, DWORD dwLockLow, DWORD dwLockffigh )  | 
 ||||||||
| 
   Параметры  | 
  |||||||||
| 
   hFile  | 
  
   HANDLE. Дескриптор файла, в котором должна быть заблокирована область. Дескриптор файла должен быть создан с правами доступа к файлу либо GENERIC_READ, либо GENERIC_WRITE (либо с теми и иными).  | 
 ||||||||
| 
   dwFile Offset Low  | 
  
   DWORD. Младшие 32 бита начального байтового смещения в файле, с которого должна начаться блокировка.  | 
 ||||||||
| 
   dwFileOffsetHigh  | 
  
   DWORD. Старшие 32 бита начального байтового смещения в файле, с которого должна начаться блокировка.  | 
 ||||||||
| 
   dwLockLow  | 
  
   DWORD. Младшие 32 бита значения длины блокируемой области в байтах.  | 
 ||||||||
| 
   dwLockffigh  | 
  
   DWORD. Старшие 32 бита значения длины блокируемой области в байтах.  | 
 ||||||||
| 
   Возвращаемое значение  | 
  
   BOOL. В случае успешного выполнения — TRUE; в ином случае — FALSE  | 
 ||||||||
| 
   Включаемый файл  | 
  
   winbase.h  | 
 ||||||||
| 
   См. также  | 
  
   CreateFile, UnlockFile  | 
 ||||||||
| 
   Пример  | 
  
   В следующем примере показана функция, которая обновляет запись Е файле с использованием блокировки файла. В параметре dwRecord передается номер записи и вычисляется смещение в файле, исходя из размера структуры RECORD (это — структура, зависящая от приложения, которая представляет запись в файле). Участок файла, в котором находится запись, блокируется, и запись обновляется. Если параметр bFlush установлен в значение TRUE, буферы файла очищаются с помощью функции FlushFileBuffers. Затем запись разблокируется и функция возвращает информацию об успешном выполнении.  | 
 ||||||||
| 
   См. \local-sources\chapl7\17-15. txt  | 
 |||||||||
| 
   LockFileEx • Windows 98 + Windows 2000  | 
 |||||||||
| 
   Описание  | 
  
   Функция LockFileEx блокирует ряд байтов в открытом файле для совместного или монопольного доступа. Блокировка ряда байтов в файле предоставляет приложению разделяемый или монопольный доступ к этим байтам в файле. При создании процесса блокировки файла не наследуются новым процессом. Блокировка части файла для монопольного доступа не позволяет другим процессам получить доступ к этой части файла для чтения и записи. Блокировка части файла для совместного доступа исключает для других процессов возможность получить доступ к этой части файла для записи.  | 
 ||||||||
| 
   Синтаксис  | 
  
   BOOL LockFileEx( HANDLE fiFtle, DWORD dwFlags, DWORD dwReserved, DWORD dwNumberOfBytesToLockLow, DWORD dwNumberOfBytesToLockffigh, LPOVERLAPPED IpOverlapped)  | 
 ||||||||
| 
   Параметры  | 
  |||||||||
| 
   hFile  | 
  
   HANDLE. Открытый дескриптор файла, в котором ряд байтов должен быть заблокирован для разделяемого или монопольного доступа. Дескриптор должен быть создан с правами доступа к файлу GENERIC READ или GENERIC_WRITE.  | 
 ||||||||
| 
   dwFlags  | 
  
   DWORD. Определяет способ блокировки файла. Этот параметр может иметь одно или несколько значений, перечисленных в табл. 17.21.  | 
 ||||||||
| 
   Таблица 17.21. Значения параметра dwFlags функции LockFileEx  | 
 |||||||||
| 
   Значение  | 
  
   Описание  | 
 ||||||||
| 
   LOCKFILE_EXCLUSIVE_LOCK  | 
  
   Функция запрашивает монопольную блокировку. По умолчанию функция запрашивает разделяемую блокировку.  | 
 ||||||||
| 
   LOCKFILE_FAILJMMEDIATELY  | 
  
   Функция немедленно выполняет возврат, если не может приобрести затребованную блокировку. По умолчанию функция переходит в состояние ожидания.  | 
 ||||||||
| 
   dwReserved  | 
  
   DWORD. Зарезервированное значение; должно быть установлено равным 0.  | 
 ||||||||
| 
   dwNumberOfBytesToLockLow DWORD. Младшие 32 бита значения длины блокируемой области, в байтах.  | 
 |||||||||
| 
   dwNumberOfBytesToLockHigh DWORD. Старшие 32 бита значения длины блокируемой области, в байтах.  | 
 |||||||||
| 
   IpOverlapped  | 
  
   LPOVERLAPPED. Указатель на структуру OVERLAPPED, используемую функцией в запросе блокировки. Эта обязательная структура содержит смещение начала области блокировки в файле. Определение структуры OVERLAPPED приведено в описании функции ReadFile далее в этой главе.  | 
 ||||||||
| 
   Возвращаемое значение  | 
  
   BOOL. В случае успешного выполнения — TRUE; в ином случае — FALSE.  | 
 ||||||||
| 
   Включаемыйфайл  | 
  
   winbase.h  | 
 ||||||||
| 
   См. также  | 
  
   LockFile, UnlockFileEx  | 
 ||||||||
| 
   Пример  | 
  
   Следующий пример аналогичен примеру, приведенному при описании функции LockFile, за исключением того, что в нем для блокирования участка файла используется функция LockFileEx, а для разблокирования того же участка после обновления — функция UnlockFileEx.  | 
 ||||||||
| 
   См. \local-sources\chapl7\17-16. txt  | 
 |||||||||
| 
   MapViewOfFile + Windows 98 ф Windows 2000  | 
 |||||||||
| 
   Описание  | 
  
   Функция MapViewOfFile отображает представление файла в адресное пространство вызывающего процесса. Процесс может продублировать дескриптор объекта отображения файла для другого процесса с использованием функции DuplicateHandle или другой процесс может открыть объект отображения файла по имени с использованием функции OpenFileMapping.  | 
 ||||||||
| 
   Синтаксис  | 
  
   LPVOID MapViewOfFile( HANDLE hMapObject, DWORD dwAccess, DWORD dwOffsetHigh, DWORD dwOffsetLow, DWORD dwMap )  | 
 ||||||||
| 
   Параметры  | 
  |||||||||
| 
   hMapObject  | 
  
   HANDLE. Открытый дескриптор объекта отображения файла. Это — дескриптор, возвращаемый функциями CreateFileMapping и OpenFileMapping.  | 
 ||||||||
| 
   dwAccess  | 
  
   DWORD. Тип доступа к представлению файла. Этот параметр может иметь одно из значений, приведенных в табл. 17.22.  | 
 ||||||||
| 
   Таблица 17.22. Значения параметра dwAccess функции MapViewOfFile  | 
 |||||||||
| 
   Значение  | 
  
   Описание  | 
 ||||||||
| 
   HLE_MAP_ALL_ACCESS  | 
  
   To же, что и FILE_MAP_WRITE.  | 
 ||||||||
| 
   FILE_MAP_COPY  | 
  
   Доступ для копирования после записи.  | 
 ||||||||
| 
   HLE_MAP_READ  | 
  
   Доступ только для чтения. Параметр hMapOb/ect должен быть создан с правами защиты PAGE_READWRITE или PAGE_READ.  | 
 ||||||||
| 
   FILE_MAP_WRITE  | 
  
   Доступ для чтения/записи. Параметр hMapObject должен быть создан с правами защиты PAGE_READWRITE .  | 
 ||||||||
| 
   dwOffsetHigh  | 
  
   DWORD. Старшие 32 бита смещения файла, с которого должно начаться отображение.  | 
 ||||||||
| 
   dwOffsetLow  | 
  
   DWORD. Младшие 32 бита смещения файла, с которого должно начаться отображение. Смещение должно находиться внутри файла и быть кратным степени детализации распределения. Для получения информации о степени детализации распределения памяти системы применяется функция GetSystemlnfo.  | 
 ||||||||
| 
   dwMap  | 
  
   DWORD. Число байтов файла, которое должно быть отображено. Если этот параметр установлен равным 0, отображается весь файл.  | 
 ||||||||
| 
   Возвращаемое значение  | 
  
   LPVOID. В случае успешного выполнения — начальный адрес отображенного представления; в ином случае — NULL.  | 
 ||||||||
| 
   Включаемый файл  | 
  
   winbase.h  | 
 ||||||||
| 
   См. также  | 
  
   CreateFileMapping, DuplicateHandle, MapViewOfFileEx, OpenFileMapping, UnMapViewOfFile  | 
 ||||||||
| 
   Пример  | 
  
   В следующем примере показано, как обеспечить совместный доступ двух процессов к файлу, отображенному в память. При запуске приложения создается файл, отображенный в память. Когда пользователь выбирает пункт меню Test!, отображается представление файла, и данные помещаются в память. Затем в этой программе создается нить и выполняется переход в состояние ожидания момента модификации данных нитью с контролем по таймеру. Нить использует данные для отображения окна сообщения и после закрытия окна сообщения помещает в отображенную память строку "Received". Когда программа в данном примере получает сообщение WMJTIMER, она проверяет, была ли помещена в отображенную память строка "Received". Если это было выполнено, работа нити и таймера прекращается, и пользователь получает сообщение.  | 
 ||||||||
| 
   См. \local-sources\chapl7\17-17.txt  | 
 |||||||||
| 
   MapViewOfFileEx • Windows 98 • Windows 2000  | 
 |||||||||
| 
   Описание  | 
  
   Функция MapViewOfFileEx аналогична MapViewOfFile, за исключением того, что вызывающий процесс может указать предполагаемый адрес памяти для отображенного представления. В Windows 2000, если параметр IpvBase указывает базовое смещение, функция выполняется успешно при условии, что указанная область памяти еще не используется вызывающим процессом. В Windows 98 та же область памяти должна быть доступна для всех 32-разрядных процессов. Как правило, предполагаемый адрес используется для указания того, что файл должен быть отображен в один и тот же адрес во многих процессах. Для этого требуется, чтобы данная область адресного пространства была доступна всем участвующим процессам. В области памяти, которая служит для отображения, не должно происходить никакое иное распределение памяти, включая использование функции VirtualAlloc для резервирования памяти.  | 
 ||||||||
| 
   Синтаксис  | 
  
   LPVOID MapViewOfFileEx( HANDLE hMapObject, DWORD dwAccess, DWORD dwOffsetffigh, DWORD dwOffsetLow, DWORD dwMap, LPVOID IpvBase )  | 
 ||||||||
| 
   Параметры  | 
  |||||||||
| 
   hMapObject  | 
  
   HANDLE. Открытый дескриптор объекта отображения файла. Это — дескриптор, возвращаемый функциями CreateFileMapping и OpenFileMapping.  | 
 ||||||||
| 
   dwAccess  | 
  
   DWORD. Тип доступа к представлению файла. Этот параметр может иметь одно из значений, приведенных в табл. 17.22.  | 
 ||||||||
| 
   dwOffsetffigh  | 
  
   DWORD. Старшие 32 бита смещения файла, с которого должно начаться отображение.  | 
 ||||||||
| 
   dwOffsetLow  | 
  
   DWORD. Младшие 32 бита смещения файла, с которого должно начаться отображение. Смещение должно находиться внутри файла и быть кратным степени детализации распределения. Для получения информации о степени детализации распределения памяти системы применяется функция GetSystemlnfo.  | 
 ||||||||
| 
   divMap  | 
  
   DWORD. Число байтов файла, которое должно быть отображено. Если этот параметр установлен равным 0, отображается весь файл.  | 
 ||||||||
| 
   IpvBase  | 
  
   LPVOID. Указатель на адрес памяти в адресном пространстве вызывающего процесса, с которого должно начаться отображение. Это значение должно быть кратным степени детализации распределения памяти системы; в ином случае, функция не достигает успеха. Функция завершается аварийно также в том случае, если по указанному адресу нет достаточного объема адресного пространства. Если этот параметр установлен равным NULL, адрес отображения выбирает операционная система, и функция эквивалентна MapViewOfFile.  | 
 ||||||||
| 
   Возвращаемое значение  | 
  
   LPVOID. В случае успешного выполнения начальный адрес отображенного представления; в ином случае — NULL.  | 
 ||||||||
| 
   Включаемый файл  | 
  
   winbase.h  | 
 ||||||||
| 
   См. также  | 
  
   CreateFileMapping, DuplicateHandle, MapViewOfFile, OpenFileMapping, UnmapViewOfFile  | 
 ||||||||
| 
   Пример  | 
  
   Следующий пример аналогичен приведенному при описании функции MapViewOfFile, за исключением того, что в нем для обеспечения совпадения адреса, используемого для объекта отображения в нити, с адресом, используемым в главном процессе, применяется функция MapView-OfFileEx.  | 
 ||||||||
| 
   См. \local-sources\chapl7\17-18.txt  | 
 |||||||||
| 
   MoveFile • Windows 98 • Windows 2000  | 
 |||||||||
| 
   Описание  | 
  
   Функция MoveFile перемещает (переименовывает) существующий файл или каталог (включая все его подкаталоги) в новое место на томе. Функция MoveFile при перемещении каталога завершается неудачно, если место назначения находится на другом томе. Это связано с тем, что функция MoveFile переименовывает каталог, а не перемещает его физически.  | 
 ||||||||
| 
   Синтаксис  | 
  
   BOOL MoveF11e( LPCTSTR IpszExisting, LPCTSTR IpszNew )  | 
 ||||||||
| 
   Параметры  | 
  |||||||||
| 
   IpszExisting  | 
  
   LPCTSTR. Указатель на строку с нулевым символом в конце, содержащую имя существующего файла или каталога.  | 
 ||||||||
| 
   IpszNew  | 
  
   LPCTSTR. Указатель на строку с нулевым символом в конце, которая указывает новое имя файла или каталога. Новое имя может указывать на несуществующий объект. Новый файл может находиться в другой файловой системе или на другом диске. Новый каталог должен находиться на том же диске.  | 
 ||||||||
| 
   Возвращаемое значение  | 
  
   BOOL. В случае успешного выполнения — TRUE; в ином случае — FALSE.  | 
 ||||||||
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.