Поделиться через


Функция CoAllowUnmarshalerCLSID (combaseapi.h)

Добавляет идентификатор CLSID unmarshaler в список разрешенных только для вызывающего процесса.

Синтаксис

HRESULT CoAllowUnmarshalerCLSID(
  [in] REFCLSID clsid
);

Параметры

[in] clsid

CLSID объекта unmarshaler, добавляемого в список разрешенных для каждого процесса.

Возвращаемое значение

Если эта функция завершается успешно, она возвращает S_OK. В противном случае возвращается код ошибки HRESULT .

Комментарии

Не вызывайте функцию CoAllowUnmarshalerCLSID до тех пор, пока в текущем процессе не будет вызван coInitializeSecurity .

Функция CoAllowUnmarshalerCLSID обеспечивает более детализированный контроль над политикой отмены распределения по сравнению с параметрами политики. Если в процессе применяется какая-либо политика отмены, функция CoAllowUnmarshalerCLSID позволяет сделать политику сравнительно слабее. По этой причине вызов CoAllowUnmarshalerCLSID следует вызывать только в том случае, если влияние на безопасность хорошо известно. Обычно это используется для упрощения применения более строгого варианта политики размежевывания для широкого сокращения направлений атак, которое это обеспечивает, когда требуется конкретный unmarshaler CLSID, не разрешенный этим параметром из-за других ограничений.

Например, можно вызывать функцию CoAllowUnmarshalerCLSID , если известно или считается, что немаршалер имеет уязвимость, но требуется приложению. Кроме того, следует вызывать CoAllowUnmarshalerCLSID , если unmarshaler используется в нескольких процессах, но только как часть редкой функции. Не используйте функцию CoAllowUnmarshalerCLSID в качестве замены для усиления защиты распаковки.

Требования

Требование Значение
Минимальная версия клиента Windows 8
Минимальная версия сервера Windows Server 2012
Целевая платформа Windows
Header combaseapi.h
Библиотека Ole32.lib
DLL Ole32.dll

См. также раздел

GLOBALOPT_UNMARSHALING_POLICY_VALUES

IMarshalingStream