Lock, Unlock 함수

업데이트: 2007년 11월

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만 지정하면 단일 레코드가 잠기거나 잠금 해제됩니다.

파일이 순차 입력 또는 출력을 위해 열린 경우 FromRecord와 ToRecord로 지정한 범위와 상관없이 전체 파일이 Lock과 Unlock의 영향을 받습니다.

예제

다음 예제에서는 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을 사용한 파일 액세스