DllImportAttribute.SetLastError Поле

Определение

Показывает, вызывает ли вызываемый объект функцию SetLastError интерфейса Windows API перед возвращением из метода, использующего атрибуты.

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

Значение поля

Boolean

Примеры

в некоторых случаях Visual Basic разработчики используют DllImportAttribute вместо Declare инструкции, чтобы определить функцию DLL в управляемом коде. Установка SetLastError поля является одним из этих вариантов.

[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 . Значение по умолчанию — false.

Модуль упаковки среды выполнения вызывает GetLastError и кэширует возвращаемое значение, чтобы предотвратить его перезапись другими вызовами API. Код ошибки можно получить, вызвав GetLastWin32Error .

Применяется к

См. также раздел