Поделиться через


ErrObject.LastDllError Свойство

Определение

Возвращает системный код ошибки, созданный вызовом библиотеки динамической компоновки (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

Значение свойства

Системный код ошибки, созданный вызовом библиотеки динамической компоновки (DLL).

Атрибуты

Примеры

В следующем примере показано, как использовать LastDllError свойство после вызова функции в API Windows. Процедура PrintWindowCoordinates принимает дескриптор в окно и вызывает функцию GetWindowRect . GetWindowRect заполняет структуру данных RECT длиной сторон прямоугольника, составляющих окно. Если вы передаете недопустимый дескриптор, возникает ошибка, а номер ошибки доступен через 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

Комментарии

Это LastDllError свойство применяется только к вызовам DLL, выполненным из кода Visual Basic. При выполнении такого вызова вызываемая функция обычно возвращает код, указывающий на успешность или сбой, и LastDllError свойство заполняется. Сведения о том, какие коды означают успешное выполнение или ошибку, см. в документации по функциям DLL. При возврате кода сбоя приложение Visual Basic должно немедленно проверить LastDllError свойство. Исключение не возникает при LastDllError установке свойства.

Замечание

Для смарт-устройств это свойство всегда возвращает ноль.

Применяется к

См. также раздел