using System;
using System.Runtime.InteropServices;
namespace System.Security.Principal
{
/// Defines security impersonation levels. Security impersonation levels govern the degree to which a server process can act on behalf of a client process.
// Token: 0x020005B4 RID: 1460
[ComVisible(true)]
[Serializable]
public enum TokenImpersonationLevel
{
/// The server process cannot obtain identification information about the client, and it cannot impersonate the client.
// Token: 0x040015AB RID: 5547
Anonymous = 1,
/// The server process can impersonate the client's security context on remote systems.
// Token: 0x040015AC RID: 5548
Delegation = 4,
/// The server process can obtain information about the client, such as security identifiers and privileges, but it cannot impersonate the client. This is useful for servers that export their own objects, for example, database products that export tables and views. Using the retrieved client-security information, the server can make access-validation decisions without being able to use other services that are using the client's security context.
// Token: 0x040015AD RID: 5549
Identification = 2,
/// The server process can impersonate the client's security context on its local system. The server cannot impersonate the client on remote systems.
// Token: 0x040015AE RID: 5550
Impersonation,
/// An impersonation level is not assigned.
// Token: 0x040015AF RID: 5551
None = 0
}
}