Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

29 lines
1.0 KiB

#ifndef _COBJSAFE_H_
#define _COBJSAFE_H_
// Static functions of interest to others
HRESULT DefaultGetSafetyOptions(REFIID riid, DWORD *pdwSupportedOptions, DWORD *pdwEnabledOptions);
HRESULT DefaultSetSafetyOptions(REFIID riid, DWORD dwOptionSetMask, DWORD dwEnabledOptions);
HRESULT MakeSafeForScripting(IUnknown **punk); // returns TRUE if punk is safe for scripting
class CObjectSafety : public IObjectSafety
{
public:
CObjectSafety() : _dwSafetyOptions(0) { }
// IUnknown (we multiply inherit from IUnknown, disambiguate here)
STDMETHOD(QueryInterface)(REFIID riid, LPVOID * ppvObj) PURE;
STDMETHOD_(ULONG, AddRef)() PURE;
STDMETHOD_(ULONG, Release)() PURE;
// IObjectSafety
STDMETHOD(GetInterfaceSafetyOptions)(REFIID riid, DWORD *pdwSupportedOptions, DWORD *pdwEnabledOptions);
STDMETHOD(SetInterfaceSafetyOptions)(REFIID riid, DWORD dwOptionSetMask, DWORD dwEnabledOptions);
protected:
DWORD _dwSafetyOptions; // IObjectSafety IID_IDispatch options
};
#endif // _COBJSAFE_H_