Leaked source code of windows server 2003
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.

49 lines
1.6 KiB

  1. // Util.h : Declaration of the CUtil
  2. #ifndef __UTIL_H_
  3. #define __UTIL_H_
  4. #include "resource.h" // main symbols
  5. /////////////////////////////////////////////////////////////////////////////
  6. // CUtil
  7. class ATL_NO_VTABLE CUtil :
  8. public CComObjectRootEx<CComSingleThreadModel>,
  9. public CComCoClass<CUtil, &CLSID_Util>,
  10. public IDispatchImpl<IUtil, &IID_IUtil, &LIBID_COMPATUILib>,
  11. public IObjectWithSiteImpl<CUtil>
  12. {
  13. public:
  14. CUtil() : m_Safe(this)
  15. {
  16. }
  17. DECLARE_REGISTRY_RESOURCEID(IDR_UTIL)
  18. DECLARE_PROTECT_FINAL_CONSTRUCT()
  19. BEGIN_COM_MAP(CUtil)
  20. COM_INTERFACE_ENTRY(IUtil)
  21. COM_INTERFACE_ENTRY(IDispatch)
  22. COM_INTERFACE_ENTRY(IObjectWithSite)
  23. END_COM_MAP()
  24. // IUtil
  25. public:
  26. STDMETHOD(IsExecutableFile)(/*[in]*/BSTR bstrPath, /*[out, retval]*/BOOL* pbExecutableFile);
  27. STDMETHOD(IsSystemTarget)(/*[in]*/BSTR bstrPath, /*[out, retval]*/BOOL* pbSystemTarget);
  28. STDMETHOD(GetExePathFromObject)(/*[in]*/BSTR pszPath, /*[out, retval]*/VARIANT* pExePath);
  29. STDMETHOD(CheckAdminPrivileges)(/*[out, retval]*/ BOOL* pVal);
  30. STDMETHOD(SetItemKeys)(/*[in]*/BSTR pszPath, /*[in]*/VARIANT* pKeys, /*[in]*/VARIANT* pKeysMachine, /*[out, retval]*/BOOL* pVal);
  31. STDMETHOD(GetItemKeys)(/*[in]*/BSTR pszPath, /*[out, retval]*/VARIANT* pszKeys);
  32. STDMETHOD(RemoveArgs)(BSTR sVar, VARIANT* pOut);
  33. STDMETHOD(RunApplication)(/*[in]*/BSTR pLayers, /*[in]*/BSTR pszCmdLine,
  34. /*[in]*/BOOL bEnableLog, /*[out,retval]*/DWORD* pResult);
  35. STDMETHOD(IsCompatWizardDisabled)(/*[out, retval]*/BOOL* pbDisabled);
  36. private:
  37. CSafeObject m_Safe;
  38. };
  39. #endif //__UTIL_H_