public static string ErrorDescription(int errorCode)
{
if (errorCode == -1)
{
return "An exception when invoking Win32 API";
}
switch ((Interop.SECURITY_STATUS)errorCode)
{
case Interop.SECURITY_STATUS.InvalidHandle:
return "Invalid handle";
case Interop.SECURITY_STATUS.InvalidToken:
return "Invalid token";
case Interop.SECURITY_STATUS.ContinueNeeded:
return "Continue needed";
case Interop.SECURITY_STATUS.IncompleteMessage:
return "Message incomplete";
case Interop.SECURITY_STATUS.WrongPrincipal:
return "Wrong principal";
case Interop.SECURITY_STATUS.TargetUnknown:
return "Target unknown";
case Interop.SECURITY_STATUS.PackageNotFound:
return "Package not found";
case Interop.SECURITY_STATUS.BufferNotEnough:
return "Buffer not enough";
case Interop.SECURITY_STATUS.MessageAltered:
return "Message altered";
case Interop.SECURITY_STATUS.UntrustedRoot:
return "Untrusted root";
default:
return "0x" + errorCode.ToString("x", NumberFormatInfo.InvariantInfo);
}
}
} // class SSPIWrapper