LastDllError-Eigenschaft (Err-Objekt)

Aktualisiert: November 2007

Gibt einen Systemfehlercode zurück, der beim Aufruf einer Dynamic Link Library (DLL) generiert wurde. Schreibgeschützt.

ReadOnly Property LastDllError() As Integer

Hinweise

Die LastDllError-Eigenschaft trifft nur auf DLL-Aufrufe zu, die vom Visual Basic-Code ausgeführt werden. Wenn so ein Aufruf ausgeführt wird, gibt die aufgerufene Funktion normalerweise Code zurück, der den Erfolg oder Misserfolg meldet. Außerdem wird die LastDllError-Eigenschaft angegeben. In der Dokumentation für die Funktionen der DLL erfahren Sie, welche Rückgabewerte einen Erfolg bzw. Misserfolg angeben. Sobald der Fehlercode zurückgegeben wird, muss die Visual Basic-Anwendung die LastDllError-Eigenschaft sofort überprüfen. Beim Festlegen der LastDllError-Eigenschaft wird keine Ausnahme ausgelöst.

Hinweis:

Die LastDllError-Eigenschaft wird von LinkDemand geschützt. Dies ist hilfreich, um den Zugriff von nicht vertrauenswürdigem Code zu verhindern. Allerdings fordert LinkDemand nur von dem unmittelbaren Aufrufer die UnmanagedCode-Berechtigung an. Wenn der Code aus teilweise vertrauenswürdigem Code aufgerufen werden kann, stellt das Verfügbarmachen des LastDllError-Werts ohne Validierung ein Sicherheitsrisiko dar.

Wichtige Einschränkungen bei der Verwendung des LinkDemand-Members finden Sie unter "Demand" und "LinkDemand". Weitere Informationen zu Berechtigungen finden Sie unter SecurityPermission und unter Codezugriffsberechtigungen.

Beispiel

Im folgenden Beispiel wird die Verwendung der LastDllError-Eigenschaft nach dem Aufrufen einer Funktion in der Windows-API veranschaulicht. Die PrintWindowCoordinates-Prozedur überträgt ein Handle an ein Fenster und ruft die GetWindowRect-Funktion auf. GetWindowRect füllt die RECT-Datenstruktur mit den Längen der Rechteckseiten, die das Fenster bilden. Wenn Sie ein ungültiges Handle übergeben, tritt ein Fehler auf. Die Fehlernummer wird über die LastDllError-Eigenschaft zur Verfügung gestellt.

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

Hinweise für Entwickler intelligenter Geräte

Diese Eigenschaft gibt immer 0 (null) zurück.

Anforderungen

Namespace:Microsoft.VisualBasic

**Modul:**ErrObject

**Assembly:**Visual Basic Runtime Library (in Microsoft.VisualBasic.dll)

Siehe auch

Konzepte

"Demand" und "LinkDemand"

Referenz

Err-Objekt (Visual Basic)

Declare-Anweisung

Description-Eigenschaft (Err-Objekt)

ErrorToString-Funktion

HelpContext-Eigenschaft (Err-Objekt)

HelpFile-Eigenschaft (Err-Objekt)

Number-Eigenschaft (Err-Objekt)

Source-Eigenschaft (Err-Objekt)