訓練
AuthenticationLevel
針對未呼叫 CoInitializeSecurity 的應用程式,或針對呼叫 CoInitializeSecurity 的應用程式設定驗證層級,並指定 AppID。
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID
{AppID_GUID}
AuthenticationLevel = value
這是 相當於RPC_C_AUTHN_LEVEL常數的REG_DWORD 值。
值 | 持續性 |
---|---|
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 |
AuthenticationLevel 值類似於 LegacyAuthenticationLevel 值。 如果 AuthenticationLevel 值存在,則會使用該值,而不是該 AppID 的 LegacyAuthenticationLevel 值。
如果 AuthenticationLevel 值的類型錯誤或超出範圍,CoInitializeSecurity 會失敗,導致介面封送處理失敗。 這可防止應用程式發出任何呼叫(跨 Apartment、跨線程、跨進程或跨電腦)。
AuthenticationLevel 和 AccessPermission 值是獨立的。 如果不存在,則會使用預設值。 下列規則列出 AuthenticationLevel 值與 AccessPermission 值之間的互動:
- 如果 AuthenticationLevel 為 NONE,則會忽略 AccessPermission 和 DefaultAccessPermission 值(針對該應用程式)。
- 如果 AuthenticationLevel 不存在且 LegacyAuthenticationLevel 為 NONE,則會忽略 AccessPermission 和 DefaultAccessPermission 值(針對該應用程式)。