AuthenticationLevel
Sets the authentication level for applications that do not call CoInitializeSecurity or for applications that call CoInitializeSecurity and specify an AppID.
Registry Entry
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID
{AppID_GUID}
AuthenticationLevel = value
Remarks
This is a REG_DWORD value that is equivalent to the RPC_C_AUTHN_LEVEL constants.
Value | Constant |
---|---|
1 | RPC_C_AUTHN_LEVEL_NONE |
2 | RPC_C_AUTHN_LEVEL_CONNECT |
3 | RPC_C_AUTHN_LEVEL_CALL |
4 | RPC_C_AUTHN_LEVEL_PKT |
5 | RPC_C_AUTHN_LEVEL_PKT_INTEGRITY |
6 | RPC_C_AUTHN_LEVEL_PKT_PRIVACY |
The AuthenticationLevel value is similar to the LegacyAuthenticationLevel value. If the AuthenticationLevel value is present, it is used instead of the LegacyAuthenticationLevel value for that AppID.
If the AuthenticationLevel value is of the wrong type or out of range, CoInitializeSecurity fails, causing interface marshaling to fail. This prevents the application from making any calls at all (cross-apartment, cross-thread, cross-process, or cross-computer).
The AuthenticationLevel and AccessPermission values are independent. If one is not present, the default is used. The following rules list the interaction between the AuthenticationLevel value and the AccessPermission value:
- If the AuthenticationLevel is NONE, the AccessPermission and DefaultAccessPermission values are ignored (for that application).
- If the AuthenticationLevel is not present and the LegacyAuthenticationLevel is NONE, the AccessPermission and DefaultAccessPermission values are ignored (for that application).
Related topics