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:

Authentication Level Constants

LegacyAuthenticationLevel

Registering COM Servers

Security in COM