다음을 통해 공유


LastDllError 속성(Err 개체)

업데이트: 2007년 11월

DLL(동적 연결 라이브러리)을 호출하는 경우 생성되는 시스템 오류 코드를 반환합니다. 이 속성은 읽기 전용입니다.

ReadOnly Property LastDllError() As Integer

설명

LastDllError 속성은 Visual Basic 코드로 구성된 DLL을 호출하는 경우에만 적용됩니다. DLL을 호출하면 호출된 함수는 대개 성공 또는 실패 여부를 나타내는 코드를 반환하고, LastDllError 속성이 채워집니다. 성공 또는 실패 여부를 나타내는 반환 값을 알아 보려면 DLL 함수에 대한 설명서를 확인하십시오. 실패 코드가 반환될 때마다 Visual Basic 응용 프로그램에서 LastDllError 속성을 즉시 확인합니다. LastDllError 속성이 설정되면 예외는 발생하지 않습니다.

참고:

LastDllError 속성은 LinkDemand로 보호되기 때문에 신뢰할 수 없는 코드로부터의 액세스를 방지합니다. 그러나 LinkDemand의 경우 직접 실행 호출자만 UnmanagedCode 권한을 가져야 합니다. 코드를 부분적으로 신뢰할 수 있는 코드에서 호출할 수 있는 경우 유효성 검사 없이 LastDllError의 값을 노출하면 보안상 위험합니다.

LinkDemand 멤버 사용에 관련한 중요한 제한에 대해서는 Demand와 LinkDemand 비교를 참조하십시오. 권한에 대한 자세한 내용은 SecurityPermission코드 액세스 권한을 참조하십시오.

예제

다음 예제에서는 Windows API의 함수를 호출한 후 LastDllError 속성을 사용하는 방법을 보여 줍니다. PrintWindowCoordinates 프로시저는 창에 대한 핸들을 사용하며 GetWindowRect 함수를 호출합니다. GetWindowRect는 창을 이루는 사각형의 변 길이로 RECT 데이터 구조를 채웁니다. 잘못된 핸들을 전달하면 오류가 발생하고 LastDllError 속성을 통해 해당 오류 번호를 사용할 수 있습니다.

Declare Function GetWindowRect Lib "user32" _
(ByVal hwnd As Integer, ByRef lpRect As RECT) As Integer


...



Public Structure RECT
    Public Left As Integer
    Public Top As Integer
    Public Right As Integer
    Public Bottom As Integer
End Structure


...



Const ERROR_INVALID_WINDOW_HANDLE As Long = 1400
Const ERROR_INVALID_WINDOW_HANDLE_DESCR As String = _
"Invalid window handle."
Private Sub PrintWindowCoordinates(ByVal hwnd As Integer)
' Prints left, right, top, and bottom positions
' of a window in pixels.

  Dim rectWindow As RECT

  ' Pass in window handle and empty the data structure.
  ' If function returns 0, an error occurred.
  If GetWindowRect(hwnd, rectWindow) = 0 Then
      ' Check LastDllError and display a dialog box if the error
      ' occurred because an invalid handle was passed.
      If Err.LastDllError = ERROR_INVALID_WINDOW_HANDLE Then
          MsgBox(ERROR_INVALID_WINDOW_HANDLE_DESCR, Title:="Error!")
      End If
  Else
      Debug.Print(rectWindow.Bottom)
      Debug.Print(rectWindow.Left)
      Debug.Print(rectWindow.Right)
      Debug.Print(rectWindow.Top)
  End If
End Sub

스마트 장치 개발자 참고 사항

이 속성은 항상 0을 반환합니다.

요구 사항

네임스페이스:Microsoft.VisualBasic

**모듈:**ErrObject

**어셈블리:**Visual Basic 런타임 라이브러리(Microsoft.VisualBasic.dll)

참고 항목

개념

Demand와 LinkDemand 비교

참조

Err 개체(Visual Basic)

Declare 문

Description 속성(Err 개체)

ErrorToString 함수

HelpContext 속성(Err 개체)

HelpFile 속성(Err 개체)

Number 속성(Err 개체)

Source 속성(Err 개체)