Condividi tramite


ErrObject.LastDllError Proprietà

Definizione

Ottiene un codice di errore di sistema generato da una chiamata a una libreria di collegamento dinamico (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

Valore della proprietà

Codice di errore di sistema generato da una chiamata a una libreria a collegamento dinamico (DLL).

Attributi

Esempio

Nell'esempio seguente viene illustrato come usare la LastDllError proprietà dopo aver chiamato una funzione nell'API Di Windows. La PrintWindowCoordinates routine accetta un handle in una finestra e chiama la GetWindowRect funzione . GetWindowRect riempie la struttura dei dati RECT con le lunghezze dei lati del rettangolo che costituiscono la finestra. Se si passa un handle non valido, si verifica un errore e il numero di errore è disponibile tramite la LastDllError proprietà .

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

Commenti

La LastDllError proprietà si applica solo alle chiamate DLL effettuate dal codice Visual Basic. Quando viene eseguita una chiamata di questo tipo, la funzione chiamata restituisce in genere un codice che indica l'esito positivo o negativo e la LastDllError proprietà viene riempita. Controllare la documentazione relativa alle funzioni della DLL per determinare i valori restituiti che indicano l'esito positivo o negativo. Ogni volta che viene restituito il codice di errore, l'applicazione Visual Basic deve controllare immediatamente la LastDllError proprietà . Non viene generata alcuna eccezione quando la LastDllError proprietà è impostata.

Nota

Per i dispositivi intelligenti, questa proprietà restituisce sempre zero.

Si applica a

Vedi anche