| 62 | } |
| 63 | |
| 64 | VirtualizationState Token::GetVirtualizationState() const { |
| 65 | ULONG virt = 0; |
| 66 | DWORD len; |
| 67 | if (!::GetTokenInformation(_handle.get(), TokenVirtualizationAllowed, &virt, sizeof(virt), &len)) |
| 68 | return VirtualizationState::Unknown; |
| 69 | |
| 70 | if (!virt) |
| 71 | return VirtualizationState::NotAllowed; |
| 72 | |
| 73 | if (::GetTokenInformation(_handle.get(), TokenVirtualizationEnabled, &virt, sizeof(virt), &len)) |
| 74 | return virt ? VirtualizationState::Enabled : VirtualizationState::Disabled; |
| 75 | return VirtualizationState::Unknown; |
| 76 | } |
| 77 | |
| 78 | IntegrityLevel Token::GetIntegrityLevel() const { |
| 79 | BYTE buffer[TOKEN_INTEGRITY_LEVEL_MAX_SIZE]; |