int32_t WellKnownCapabilityToRid(WellKnownCapability capability) { switch (capability) { case WellKnownCapability::kInternetClient: return SECURITY_CAPABILITY_INTERNET_CLIENT; case WellKnownCapability::kInternetClientServer: return SECURITY_CAPABILITY_INTERNET_CLIENT_SERVER; case WellKnownCapability::kPrivateNetworkClientServer: return SECURITY_CAPABILITY_PRIVATE_NETWORK_CLIENT_SERVER; case WellKnownCapability::kPicturesLibrary: return SECURITY_CAPABILITY_PICTURES_LIBRARY; case WellKnownCapability::kVideosLibrary: return SECURITY_CAPABILITY_VIDEOS_LIBRARY; case WellKnownCapability::kMusicLibrary: return SECURITY_CAPABILITY_MUSIC_LIBRARY; case WellKnownCapability::kDocumentsLibrary: return SECURITY_CAPABILITY_DOCUMENTS_LIBRARY; case WellKnownCapability::kEnterpriseAuthentication: return SECURITY_CAPABILITY_ENTERPRISE_AUTHENTICATION; case WellKnownCapability::kSharedUserCertificates: return SECURITY_CAPABILITY_SHARED_USER_CERTIFICATES; case WellKnownCapability::kRemovableStorage: return SECURITY_CAPABILITY_REMOVABLE_STORAGE; case WellKnownCapability::kAppointments: return SECURITY_CAPABILITY_APPOINTMENTS; case WellKnownCapability::kContacts: return SECURITY_CAPABILITY_CONTACTS;
}
}
Sid Sid::FromKnownSid(WellKnownSid type) { switch (type) { case WellKnownSid::kNull: return FromSubAuthorities(SECURITY_NULL_SID_AUTHORITY,
{SECURITY_NULL_RID}); case WellKnownSid::kWorld: return FromSubAuthorities(SECURITY_WORLD_SID_AUTHORITY,
{SECURITY_WORLD_RID}); case WellKnownSid::kCreatorOwner: return FromSubAuthorities(SECURITY_CREATOR_SID_AUTHORITY,
{SECURITY_CREATOR_OWNER_RID}); case WellKnownSid::kCreatorOwnerRights: return FromSubAuthorities(SECURITY_CREATOR_SID_AUTHORITY,
{SECURITY_CREATOR_OWNER_RIGHTS_RID}); case WellKnownSid::kNetwork: return FromNtAuthority({SECURITY_NETWORK_RID}); case WellKnownSid::kBatch: return FromNtAuthority({SECURITY_BATCH_RID}); case WellKnownSid::kInteractive: return FromNtAuthority({SECURITY_INTERACTIVE_RID}); case WellKnownSid::kService: return FromNtAuthority({SECURITY_SERVICE_RID}); case WellKnownSid::kAnonymous: return FromNtAuthority({SECURITY_ANONYMOUS_LOGON_RID}); case WellKnownSid::kSelf: return FromNtAuthority({SECURITY_PRINCIPAL_SELF_RID}); case WellKnownSid::kAuthenticatedUser: return FromNtAuthority({SECURITY_AUTHENTICATED_USER_RID}); case WellKnownSid::kRestricted: return FromNtAuthority({SECURITY_RESTRICTED_CODE_RID}); case WellKnownSid::kWriteRestricted: return FromNtAuthority({SECURITY_WRITE_RESTRICTED_CODE_RID}); case WellKnownSid::kLocalSystem: return FromNtAuthority({SECURITY_LOCAL_SYSTEM_RID}); case WellKnownSid::kLocalService: return FromNtAuthority({SECURITY_LOCAL_SERVICE_RID}); case WellKnownSid::kNetworkService: return FromNtAuthority({SECURITY_NETWORK_SERVICE_RID}); case WellKnownSid::kBuiltinAdministrators: return FromNtAuthority(
{SECURITY_BUILTIN_DOMAIN_RID, DOMAIN_ALIAS_RID_ADMINS}); case WellKnownSid::kBuiltinUsers: return FromNtAuthority(
{SECURITY_BUILTIN_DOMAIN_RID, DOMAIN_ALIAS_RID_USERS}); case WellKnownSid::kBuiltinGuests: return FromNtAuthority(
{SECURITY_BUILTIN_DOMAIN_RID, DOMAIN_ALIAS_RID_GUESTS}); case WellKnownSid::kUntrustedLabel: return FromIntegrityLevel(SECURITY_MANDATORY_UNTRUSTED_RID); case WellKnownSid::kLowLabel: return FromIntegrityLevel(SECURITY_MANDATORY_LOW_RID); case WellKnownSid::kMediumLabel: return FromIntegrityLevel(SECURITY_MANDATORY_MEDIUM_RID); case WellKnownSid::kHighLabel: return FromIntegrityLevel(SECURITY_MANDATORY_HIGH_RID); case WellKnownSid::kSystemLabel: return FromIntegrityLevel(SECURITY_MANDATORY_SYSTEM_RID); case WellKnownSid::kAllApplicationPackages: return FromSubAuthorities(SECURITY_APP_PACKAGE_AUTHORITY,
{SECURITY_APP_PACKAGE_BASE_RID,
SECURITY_BUILTIN_PACKAGE_ANY_PACKAGE}); case WellKnownSid::kAllRestrictedApplicationPackages: return FromSubAuthorities(
SECURITY_APP_PACKAGE_AUTHORITY,
{SECURITY_APP_PACKAGE_BASE_RID,
SECURITY_BUILTIN_PACKAGE_ANY_RESTRICTED_PACKAGE});
}
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.