ErrObject.LastDllError Egenskap

Definition

Hämtar en systemfelkod som skapas av ett anrop till ett DLL-bibliotek (dynamic-link library).

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

Egenskapsvärde

En systemfelkod som genereras av ett anrop till ett DLL-bibliotek (Dynamic Link Library).

Attribut

Exempel

I följande exempel visas hur du kan använda egenskapen LastDllError när du har anropat en funktion i Windows-API:et. Proceduren PrintWindowCoordinates tar ett handtag till ett fönster och anropar GetWindowRect funktionen. GetWindowRect fyller REKT-datastrukturen med längden på sidorna av rektangeln som utgör fönstret. Om du skickar ett ogiltigt handtag uppstår ett fel och felnumret är tillgängligt via egenskapen 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

Kommentarer

Egenskapen LastDllError gäller endast för DLL-anrop som görs från Visual Basic kod. När ett sådant anrop görs returnerar den anropade funktionen vanligtvis en kod som anger lyckad eller misslyckad, och egenskapen LastDllError fylls i. Kontrollera dokumentationen för DLL-funktionerna för att fastställa de returvärden som indikerar lyckade eller misslyckade. När felkoden returneras bör Visual Basic-programmet omedelbart kontrollera egenskapen LastDllError. Inget undantag utlöses när egenskapen LastDllError har angetts.

Note

För smarta enheter returnerar den här egenskapen alltid noll.

Gäller för

Se även