Содержание
- 2. Работа с файлами в Windows API Совместная работа с файлами
- 3. Совместный доступ к файлу Управление объектами типа «файл» отличается от управления другими объектам ядра. Вы не
- 4. Функция повторного открытия файла HANDLE ReOpenFile( HANDLE hOriginalFile, // дескриптор уже открытого файла DWORD dwDesiredAccess, //
- 5. Совместное использование объекта типа «файл» Только используя механизм дублирования дескрипторов объектов, Вы можете получить более одного
- 6. Совместный доступ и блокировка файлов Если функции CreateFile () указать режимы совместного использования файла FILE_SHARE_READ или
- 7. Функции блокировки Блокировка участка файла для монопольного доступа выполняется функцией LockFile (), после использования заблокированного участка,
- 8. Функции LockFile и UnlockFile BOOL LockFile( HANDLE hFile, // дескриптор файла DWORD dwFileOffsetLow, // младшее слово
- 9. Функции LockFileEx и UnlockFileEx BOOL LockFileEx( HANDLE hFile, // дескриптор файла DWORD dwFlags, // вид блокировки
- 10. Параметры LockFileEx и UnlockFileEx dwFlags – определяет вид блокировки файла, а также режим ожидания доступности затребованной
- 11. Особенности блокирования участков файла Вновь создаваемая и существующие области блокирования в файле не могут перекрываться. Возможно
- 12. Работа с файлами в Windows API Работа с «разреженными» файлами
- 13. Разреженные файлы (sparse files)
- 14. Создание разреженных файлов Прежде чем создать разреженный файл необходимо проверить поддержку FILE_SUPPORTS_SPARSE_FILES со стороны файловой системы.
- 15. Пример проверки поддержки разреженных файлов char szVolName[MAX_PATH], szFSName[MAX_PATH]; DWORD dwSN, dwMaxLen, dwVolFlags; GetVolumeInformation("C:\\", szVolName, MAX_PATH, &dwSN,
- 16. Функция DeviceIoControl BOOL DeviceIoControl ( HANDLE hDevice, // дескриптор устройства DWORD dwIoControlCode, // код операции LPVOID
- 17. Пример создания разреженного файла HANDLE hFile = CreateFile("C:\\Sparse.dat", GENERIC_WRITE, 0, NULL, CREATE_NEW, FILE_ATTRIBUTE_NORMAL, NULL); DWORD dwTemp;
- 18. Особенности вызова DeviceIoControl Если параметр hDevice открывался без установки флажка FILE_FLAG_OVERLAPPED, параметр lpOverlapped игнорируется. Если параметр
- 19. Задание разреженных областей файла Для задания в разреженном файле «нулевых» областей необходимо использовать функцию DeviceIoControl ()
- 20. Пример создания разреженной области файла FILE_ZERO_DATA_INFORMATION fzdi; DWORD dwTemp; fzdi.FileOffset.QuadPart = uAddress; fzdi.BeyondFinalZero.QuadPart = uAddress +
- 21. Задание разреженной области в конце файла Для задания разреженной области в конце файла нет необходимо использовать
- 23. Скачать презентацию