DllImportAttribute.SetLastError 필드

정의

특성 사용 메서드에서 반환하기 전에 호출 수신자가 SetLastError Windows API 함수를 호출할지 여부를 나타냅니다.Indicates whether the callee calls the SetLastError Windows API function before returning from the attributed method.

public: bool SetLastError;
public bool SetLastError;
val mutable SetLastError : bool
Public SetLastError As Boolean 

필드 값

Boolean

예제

경우에 따라 Visual Basic 개발자는 DllImportAttribute 문을 사용 하는 대신를 사용 Declare 하 여 관리 코드에서 DLL 함수를 정의 합니다.In some cases, Visual Basic developers use the DllImportAttribute, instead of using the Declare statement, to define a DLL function in managed code. 필드 설정은 SetLastError 이러한 경우 중 하나입니다.Setting the SetLastError field is one of those cases.

[DllImport("user32.dll", SetLastError = true)]
int MessageBoxA(IntPtr hWnd, String^ Text,
    String^ Caption, unsigned int Type);
internal static class NativeMethods
{
    [DllImport("user32.dll", SetLastError = true)]
    internal static extern int MessageBoxA(
        IntPtr hWnd, string lpText, string lpCaption, uint uType);
}
Friend Class NativeMethods
    <DllImport("user32.dll", SetLastError:=True)>
    Friend Shared Function MessageBoxA(hWnd As IntPtr, lpText As String,
        lpCaption As String, uType As UInteger) As Integer
    End Function
End Class

설명

true 호출 수신자가를 호출 하면 SetLastError 이 고, 그렇지 않으면 false 입니다.true to indicate that the callee will call SetLastError; otherwise, false. 기본값은 false입니다.The default is false.

런타임 마샬러에서는 GetLastError 반환 된 값을 호출 하 고 캐시 하 여 다른 API 호출로 덮어쓰는 것을 방지 합니다.The runtime marshaler calls GetLastError and caches the value returned to prevent it from being overwritten by other API calls. 을 호출 하 여 오류 코드를 검색할 수 있습니다 GetLastWin32Error .You can retrieve the error code by calling GetLastWin32Error.

적용 대상

추가 정보