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 .
Примечание
Для интеллектуальных устройств это свойство всегда возвращает ноль.