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.

87 lines
2.0 KiB

  1. //+---------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (C) Microsoft Corporation, 1992 - 2000.
  5. //
  6. // File: secconv.cxx
  7. //
  8. // Contents: Header for the adsutil security descriptor methods.
  9. //
  10. // History: AjayR Created.
  11. //
  12. //----------------------------------------------------------------------------
  13. #ifndef __SECCONV_H__
  14. #define __SECCONV_H__
  15. class CADsSecurityUtility;
  16. class CADsSecurityUtility : INHERIT_TRACKING,
  17. public ISupportErrorInfo,
  18. public IADsSecurityUtility
  19. {
  20. public:
  21. /* IUnknown Methods*/
  22. STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) ;
  23. DECLARE_STD_REFCOUNTING
  24. DECLARE_IDispatch_METHODS
  25. DECLARE_ISupportErrorInfo_METHODS
  26. /* IADsSecurity Methods */
  27. STDMETHOD(GetSecurityDescriptor)(
  28. IN VARIANT varPath,
  29. IN long lPathFormat,
  30. IN long lFormat,
  31. OUT VARIANT *pVariant
  32. );
  33. STDMETHOD(SetSecurityDescriptor)(
  34. IN VARIANT varPath,
  35. IN long lFormat,
  36. IN VARIANT varData,
  37. IN long lDataFormat
  38. );
  39. STDMETHOD(ConvertSecurityDescriptor)(
  40. IN VARIANT varSD,
  41. IN long lDataFormat,
  42. IN long lOutFormat,
  43. OUT VARIANT * pvResult
  44. );
  45. STDMETHOD(get_SecurityMask)(
  46. OUT long *plSecurityMask
  47. );
  48. STDMETHOD(put_SecurityMask)(
  49. IN long lSecurityMask
  50. );
  51. //
  52. // Other methods.
  53. //
  54. CADsSecurityUtility::CADsSecurityUtility();
  55. CADsSecurityUtility::~CADsSecurityUtility();
  56. static
  57. HRESULT
  58. CADsSecurityUtility::CreateADsSecurityUtility(
  59. REFIID riid,
  60. void **ppvObj
  61. );
  62. static
  63. HRESULT
  64. CADsSecurityUtility::AllocateADsSecurityUtilityObject(
  65. CADsSecurityUtility ** ppADsSecurityUtil
  66. );
  67. protected:
  68. CDispatchMgr FAR * _pDispMgr;
  69. SECURITY_INFORMATION _secInfo;
  70. };
  71. #endif // __SECCONV_H__