LastDllError (Propiedad, objeto Err)
Actualización: noviembre 2007
Devuelve un código de error proveniente del sistema y producido por una llamada a la biblioteca de enlaces dinámicos (DLL). Sólo lectura.
ReadOnly Property LastDllError() As Integer
Comentarios
La propiedad LastDllError sólo se aplica a llamadas a DLL provenientes de código Visual Basic. Cuando se realiza una de estas llamadas, la función invocada normalmente devolverá un código que indica si se ha realizado correctamente o no; y se llenará la propiedad LastDllError. Compruebe la documentación correspondiente a las funciones de los archivos DLL a fin de determinar los valores devueltos que indican éxito o fracaso. Cada vez que se devuelva el código de error, la aplicación de Visual Basic debería comprobar la propiedad LastDllError inmediatamente. No se genera ninguna excepción cuando se establece la propiedad LastDllError.
Nota: |
---|
LinkDemand protege a la propiedad LastDllError para evitar que se obtenga acceso a ella desde un código que no es de confianza. Sin embargo, LinkDemand únicamente necesita al llamador inmediato para obtener el permiso UnmanagedCode. Si se puede llamar al código desde el código de confianza parcial, exponiendo el valor de LastDllError sin la validación, supone un riesgo para la seguridad. Para conocer las limitaciones importantes a la hora de usar el miembro LinkDemand, vea Demand frente a LinkDemand. Para obtener más información sobre permisos, vea SecurityPermission y Permisos de acceso a código. |
Ejemplo
El ejemplo siguiente muestra cómo se puede usar la propiedad LastDllError después de llamar a una función en la API de Windows. El procedimiento PrintWindowCoordinates identifica una ventana y llama a la función GetWindowRect. GetWindowRect rellena la estructura de datos RECT con las longitudes de los lados del rectángulo que conforma la ventana. Si pasa un identificador no válido, se produce un error; el número de error está disponible en la propiedad 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
Notas para desarrolladores de dispositivos inteligentes
Esta propiedad siempre devuelve cero.
Requisitos
Espacio de nombres:Microsoft.VisualBasic
**Módulo:**ErrObject
**Ensamblado:**Visual Basic Runtime Library (en Microsoft.VisualBasic.dll)
Vea también
Conceptos
Referencia
Description (Propiedad, objeto Err)
HelpContext (Propiedad, objeto Err)
HelpFile (Propiedad, objeto Err)