CoAllowUnmarshalerCLSID 函数 (combaseapi.h)

仅向允许的调用进程列表添加一个取消封送器 CLSID。

语法

HRESULT CoAllowUnmarshalerCLSID(
  [in] REFCLSID clsid
);

参数

[in] clsid

要添加到每个进程允许列表的取消筛选程序的 CLSID。

返回值

如果此函数成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。

注解

在当前进程中调用 CoInitializeSecurity 之前,请勿调用 CoAllowUnmarshalerCLSID 函数。

与策略选项提供的相比, CoAllowUnmarshalerCLSID 函数更精细地控制取消封送策略。 如果进程应用任何取消组合策略, 则 CoAllowUnmarshalerCLSID 函数的效果是使策略相对较弱。 出于此原因,仅在充分了解安全影响时调用 CoAllowUnmarshalerCLSID 。 通常,当由于其他约束而需要该选项不允许的特定取消封送器 CLSID 时,这用于促进为提供的广泛攻击面减少应用更强大的取消封送策略选项。

例如,当已知或认为存在漏洞但应用需要 unmarshaler 时,最好调用 CoAllowUnmarshalerCLSID 函数。 此外,如果 unmarshaler 在多个进程中使用,但仅作为不常见功能的一部分,则调用 CoAllowUnmarshalerCLSID 是合适的。 不要使用 CoAllowUnmarshalerCLSID 函数来替代取消组合器。

要求

要求
最低受支持的客户端 Windows 8
最低受支持的服务器 Windows Server 2012
目标平台 Windows
标头 combaseapi.h
Library Ole32.lib
DLL Ole32.dll

另请参阅

GLOBALOPT_UNMARSHALING_POLICY_VALUES

IMarshalingStream