LastDllError, propriété (objet Err)

Mise à jour : novembre 2007

Retourne le code d'erreur système généré par un appel à une DLL (bibliothèque de liens dynamiques). Lecture seule.

ReadOnly Property LastDllError() As Integer

Notes

La propriété LastDllError s'applique uniquement aux appels de DLL effectués à partir de code Visual Basic. Lorsque ce type d'appel est effectué, la fonction appelée retourne généralement un code indiquant le succès ou l'échec et une valeur est assignée à la propriété LastDllError. Consultez la documentation des fonctions de la DLL afin de déterminer les valeurs de retour indiquant le succès ou l'échec. À chaque fois que le code d'échec est retourné, l'application Visual Basic doit vérifier immédiatement la propriété LastDllError. Aucune exception n'est déclenchée lorsque la propriété LastDllError est définie.

Remarque :

La propriété LastDllError est protégée par LinkDemand, qui contribue à la protéger contre tout accès à partir de code non fiable. Toutefois, LinkDemand requiert uniquement que l'appelant immédiat dispose de l'autorisation UnmanagedCode. Si votre code peut être appelé à partir de code de niveau de confiance partiel, le fait d'exposer la valeur de LastDllError sans validation constitue un risque en matière de sécurité.

Pour les limitations importantes concernant l'utilisation du membre LinkDemand, consultez Demand et LinkDemand. Pour plus d'informations sur la définition d'autorisations, consultez SecurityPermission et Autorisations d'accès du code.

Exemple

L'exemple suivant illustre la façon dont vous pouvez utiliser la propriété LastDllError après avoir appelé une fonction dans l'API de Windows. La procédure PrintWindowCoordinates accepte un handle dans une fenêtre et appelle la fonction GetWindowRect. GetWindowRect remplit la structure de données RECT avec les longueurs des côtés du rectangle qui compose la fenêtre. Si vous passez un handle qui n'est pas valide, une erreur se produit, laissant apparaître le numéro d'erreur via la propriété 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

Notes du développeur sur Smart Device

Cette propriété retourne toujours zéro.

Configuration requise

Espace de noms :Microsoft.VisualBasic

**Module :**ErrObject

**Assembly :**bibliothèque Visual Basic Runtime (dans Microsoft.VisualBasic.dll)

Voir aussi

Concepts

Demand et LinkDemand

Référence

Err, objet (Visual Basic)

Declare, instruction

Description, propriété (objet Err)

ErrorToString, fonction

HelpContext, propriété (objet Err)

HelpFile, propriété (objet Err)

Number, propriété (objet Err)

Source, propriété (objet Err)