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) の呼び出しによって生成されるシステム エラー コード。

属性

次の例は、Windows API で関数を LastDllError 呼び出した後に プロパティを使用する方法を示しています。 プロシージャは 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 、Visual Basic コードから行われた DLL 呼び出しにのみ適用されます。 このような呼び出しが行われると、呼び出された関数は通常、成功または失敗を示すコードを返し、 プロパティが LastDllError 入力されます。 DLL の関数のドキュメントを確認して、成功または失敗を示す戻り値を確認してください。 エラー コードが返されるたびに、Visual Basic アプリケーションはプロパティを直ちにチェックするLastDllError必要があります。 プロパティが設定されている場合、 LastDllError 例外は発生しません。

注意

スマート デバイスの場合、このプロパティは常に 0 を返します。

適用対象

こちらもご覧ください