Поделиться через


Функции Lock, Unlock

Обновлен: Ноябрь 2007

Управляет доступом других процессов ко всему файлу, открытому с помощью функции Open, или к его части.

Функция My обеспечивает более высокую производительность и быстродействие операций файлового ввода-вывода, чем Lock и Unlock. Дополнительные сведения см. в разделе Объект My.Computer.FileSystem.

Public Overloads Sub Lock(ByVal FileNumber As Integer)
' -or-
Public Overloads Sub Unlock(ByVal FileNumber As Integer)
' -or-
Public Overloads Sub Lock(_
   ByVal FileNumber As Integer, _ 
   ByVal Record As Long _
)
' -or-
Public Overloads Sub Unlock( _
   ByVal FileNumber As Integer, _ 
   ByVal Record As Long _
)
' -or-
Public Overloads Sub Lock( _
   ByVal FileNumber As Integer, _ 
   ByVal FromRecord As Long, _ 
   ByVal ToRecord As Long _
)
' -or-
Public Overloads Sub Unlock( _
   ByVal FileNumber As Integer, _
   ByVal FromRecord As Long, _
   ByVal ToRecord As Long _
)

Параметры

  • FileNumber
    Обязательный параметр. Любой допустимый номер файла.

  • Record
    Необязательный параметр. Номер записи или байта для блокировки или разблокировки.

  • FromRecord
    Необязательный параметр. Номер первой записи или первого байта, начиная с которого файл открывается или закрывается для доступа.

  • ToRecord
    Необязательный параметр. Номер последней записи или последнего байта, которым заканчивается часть файла, открытая или закрытая для доступа.

Исключения

Тип исключения

Номер ошибки

Условия

IOException

52

FileNumber не существует.

IOException

54

Недопустимый режим файла.

См. столбец "Номер ошибки", если выполняется обновление приложений Visual Basic 6.0, в которых используется неструктурированная обработка ошибок. (Можно сравнить номер ошибки с Свойство Number (объект Err).) Однако по возможности следует заменять такую обработку ошибок на Обзор структурной обработки исключений в Visual Basic.

Заметки

Функции Lock и Unlock используются в среде, где нескольким процессам может понадобиться доступ к одному и тому же файлу.

Функции Lock и Unlock всегда используются в паре. Аргументы для Lock и Unlock должны совпадать полностью.

Если аргументы Record или FromRecord и ToRecord опущены, весь файл закрывается для доступа. Если указана только запись Record, то будет заблокирована или разблокирована только эта запись.

Если файл открыт для последовательного ввода или вывода, действие функций Lock и Unlock распространяется на весь файл, независимо от значений параметров FromRecord и ToRecord.

Пример

В следующем примере показывается использование функций Lock и Unlock. В этом примере используется файл People.txt, содержащий записи структуры Person.

Structure Person
   Dim Name As String
   Dim ID As Integer
End Structure

Sub PutInLockedFile(ByVal index As Integer, ByVal onePerson As Person)
   Try
      FileOpen(1, "c:\people.txt", OpenMode.Binary)
      Lock(1)
      FilePut(index, onePerson)
      Unlock(1)
      FileClose(1)
   Catch
      ' Error recovery code here.
   End Try
End Sub

Примечание для разработчиков приложений для интеллектуальных устройств

Эта функция не поддерживается.

Требования

Пространство имен:Microsoft.VisualBasic

**Модуль:**FileSystem

**Сборка:**Visual Basic (библиотека времени выполнения, в Microsoft.VisualBasic.dll)

См. также

Ссылки

Функция FileOpen

IOException

Другие ресурсы

Доступ к файлам с помощью Visual Basic