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.

27 lines
983 B

  1. #ifndef SAFEOBJ_H_
  2. #define SAFEOBJ_H_
  3. // Static functions of interest to others
  4. HRESULT DefaultGetSafetyOptions(REFIID riid, DWORD *pdwSupportedOptions, DWORD *pdwEnabledOptions);
  5. HRESULT DefaultSetSafetyOptions(REFIID riid, DWORD dwOptionSetMask, DWORD dwEnabledOptions);
  6. HRESULT MakeSafeForScripting(IUnknown **punk); // returns TRUE if punk is safe for scripting
  7. class CObjectSafety : public IObjectSafety
  8. {
  9. public:
  10. // IUnknown (we multiply inherit from IUnknown, disambiguate here)
  11. STDMETHOD(QueryInterface)(REFIID riid, LPVOID * ppvObj) PURE;
  12. STDMETHOD_(ULONG, AddRef)() PURE;
  13. STDMETHOD_(ULONG, Release)() PURE;
  14. // IObjectSafety
  15. STDMETHOD(GetInterfaceSafetyOptions)(REFIID riid, DWORD *pdwSupportedOptions, DWORD *pdwEnabledOptions);
  16. STDMETHOD(SetInterfaceSafetyOptions)(REFIID riid, DWORD dwOptionSetMask, DWORD dwEnabledOptions);
  17. protected:
  18. DWORD _dwSafetyOptions; // IObjectSafety IID_IDispatch options
  19. };
  20. #endif