Udostępnij za pośrednictwem


ErrObject.LastDllError Właściwość

Definicja

Pobiera kod błędu systemu utworzony przez wywołanie biblioteki łącza dynamicznego (DLL).

public:
 property int LastDllError { int get(); };
public int LastDllError { get; }
public int LastDllError { [System.Security.SecurityCritical] get; }
member this.LastDllError : int
[<get: System.Security.SecurityCritical>]
member this.LastDllError : int
Public ReadOnly Property LastDllError As Integer

Wartość właściwości

Kod błędu systemu wygenerowany przez wywołanie biblioteki łącza dynamicznego (DLL).

Atrybuty

Przykłady

W poniższym przykładzie pokazano, jak można użyć LastDllError właściwości po wywołaniu funkcji w interfejsie API systemu Windows. Procedura PrintWindowCoordinates przyjmuje uchwyt do okna i wywołuje GetWindowRect funkcję. GetWindowRect wypełnia strukturę danych RECT długością boków prostokąta tworzącego okno. W przypadku przekazania nieprawidłowego uchwytu wystąpi błąd, a numer błędu LastDllError jest dostępny za pośrednictwem właściwości .

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

Uwagi

Właściwość LastDllError ma zastosowanie tylko do wywołań DLL wykonanych z kodu Visual Basic. Gdy takie wywołanie jest wykonywane, wywoływana funkcja zwykle zwraca kod wskazujący powodzenie lub niepowodzenie, a LastDllError właściwość jest wypełniona. Zapoznaj się z dokumentacją funkcji biblioteki DLL, aby określić wartości zwracane, które wskazują powodzenie lub niepowodzenie. Za każdym razem, gdy zostanie zwrócony kod błędu, aplikacja Visual Basic powinna natychmiast sprawdzić LastDllError właściwość. Podczas ustawiania LastDllError właściwości nie jest zgłaszany żaden wyjątek.

Uwaga

W przypadku urządzeń inteligentnych ta właściwość zawsze zwraca zero.

Dotyczy

Zobacz też