Makes the object safe for initialization or scripting by setting the m_dwCurrentSafety member to the appropriate value.
HRESULT SetInterfaceSafetyOptions( REFIID riid, DWORD dwOptionsSetMask, DWORD dwEnabledOptions );
The implementation returns E_NOINTERFACE for any interface not supported by the object's implementation of IUnknown::QueryInterface.
Any object that supports IObjectSafety is responsible for its own security, and that of any object it delegates. The programmer must take into account issues arising from running code in the user's context, cross-site scripting and perform suitable zone checking.
See IObjectSafety::SetInterfaceSafetyOptions in the Platform SDK.