Freigeben über


DllImportAttribute.SetLastError-Feld

Gibt an, ob der Aufgerufene vor dem Zurückgeben aus der attributierten Methode die Win32-API SetLastError aufruft.

Namespace: System.Runtime.InteropServices
Assembly: mscorlib (in mscorlib.dll)

Syntax

'Declaration
Public SetLastError As Boolean
'Usage
Dim instance As DllImportAttribute
Dim value As Boolean

value = instance.SetLastError

instance.SetLastError = value
public bool SetLastError
public:
bool SetLastError
public boolean SetLastError
public var SetLastError : boolean

Hinweise

true gibt an, dass der Aufgerufene SetLastError aufruft, andernfalls false. Der Standardwert ist false, außer in Visual Basic.

Der Laufzeitmarshaller ruft GetLastError auf und legt den zurückgegebenen Wert im Zwischenspeicher ab, damit dieser nicht von anderen API-Aufrufen überschrieben wird. Sie können den Fehlercode durch Aufrufen von GetLastWin32Error abrufen.

Beispiel

In einigen Fällen verwenden Visual Basic-Entwickler DllImportAttribute anstelle der Declare-Anweisung, um eine DLL-Funktion in verwaltetem Code zu definieren. Ein solcher Fall ist beim Festlegen des SetLastError-Felds gegeben.

Imports System.Runtime.InteropServices
 Public Class Win32
     <DllImport ("user32.dll", SetLastError := False)> _
     Public Shared Function MessageBoxA (ByVal hWnd As Integer, _
         ByVal txt As String, ByVal caption As String, _
         ByVal Typ As Integer) As Integer
     End Function
 End Class
using System.Runtime.InteropServices;
 public class Win32 {
     [DllImport("user32.dll", SetLastError=true)]
     public static extern int MessageBoxA(int hWnd, String text, 
                              String caption, uint type);
 }
using namespace System::Runtime::InteropServices;
 typedef void* HWND;
 [DllImport("user32", SetLastError=true)]
 extern "C" int MessageBoxA(HWND hWnd,
                           String* pText,
                           String* pCaption,
                           unsigned int uType);

Plattformen

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

.NET Compact Framework

Unterstützt in: 2.0, 1.0

Siehe auch

Referenz

DllImportAttribute-Klasse
DllImportAttribute-Member
System.Runtime.InteropServices-Namespace
GetLastWin32Error