Как сделать запрос на уступающую блокировку


Приложения - клиенты непосредственно запрашивают уступающие блокировки только тогда, когда, блокировка предназначается для файла на локальном сервере. Получив доступ к файлам на удаленных серверах, они становятся сетевым редиректором, а не приложением - клиентом, которое запрашивает уступающую блокировку у удаленного сервера.

Уступающие блокировки запрашиваются при первом открытии файла с правами и флажками, соответствующими приложению, открывающему файл. Все файлы, для которых запрашиваются уступающие блокировки, должны быть открыты для перекрывающей (асинхронной) операции. После того, как файлы открыты для асинхронной операции, используют функцию DeviceIoControl с соответствующим управляющим кодом, чтобы запросить уступающую блокировку. Список операций уступающей блокировки, см.в статье Операции уступающих блокировок.

Прикладные программы получают уведомление о том, что уступающая блокировка разрушена при помощи использования члена hEvent структуры OVERLAPPED, связанной с файлом. Программы также могут использовать функции такого типа как GetOverlappedResult и HasOverlappedIoCompleted. Приложение ответственно за связывание корректного (соответствующего) файла с разрушенной уступающей блокировкой.

Дополнительную информацию об этом уведомлении см. в главе Синхронизация.

Назад в оглавление
На главную страницу
Переведено 17.09.2010 12:30 ©Copyright V. Sokovikov
Hosted by uCoz