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.

83 lines
3.1 KiB

  1. //////////////////////////////////////////////////////////////////////////////
  2. //
  3. // Copyright (c) 2000 Microsoft Corporation
  4. //
  5. // Module Name:
  6. // CreateServices.h
  7. //
  8. // Description:
  9. // CreateServices implementation.
  10. //
  11. // Maintained By:
  12. // Geoffrey Pease (GPease) 15-JUN-2000
  13. //
  14. //////////////////////////////////////////////////////////////////////////////
  15. #pragma once
  16. class
  17. CCreateServices
  18. : public IClusCfgResourceCreate
  19. , public IPrivatePostCfgResource
  20. {
  21. private: // data
  22. // IUnknown
  23. LONG m_cRef; // Reference counter
  24. // IPrivatePostCfgResource
  25. CResourceEntry * m_presentry; // List entry that the service is to modify.
  26. private: // methods
  27. CCreateServices( void );
  28. ~CCreateServices( void );
  29. HRESULT
  30. HrInit(void );
  31. public: // methods
  32. static HRESULT
  33. S_HrCreateInstance( IUnknown ** ppunkOut );
  34. // IUnknown
  35. STDMETHOD( QueryInterface )( REFIID riid, LPVOID *ppv );
  36. STDMETHOD_( ULONG, AddRef )( void );
  37. STDMETHOD_( ULONG, Release )( void );
  38. // IClusCfgResourceCreate
  39. STDMETHOD( SetPropertyBinary )( LPCWSTR pcszNameIn,
  40. const DWORD cbSizeIn,
  41. const BYTE * pbyteIn
  42. );
  43. STDMETHOD( SetPropertyDWORD )( LPCWSTR pcszNameIn,
  44. const DWORD dwDWORDIn
  45. );
  46. STDMETHOD( SetPropertyString )( LPCWSTR pcszNameIn,
  47. LPCWSTR pcszStringIn
  48. );
  49. STDMETHOD( SetPropertyExpandString )( LPCWSTR pcszNameIn,
  50. LPCWSTR pcszStringIn
  51. );
  52. STDMETHOD( SetPropertyMultiString )( LPCWSTR pcszNameIn,
  53. const DWORD cbSizeIn,
  54. LPCWSTR pcszStringIn
  55. );
  56. STDMETHOD( SetPropertyUnsignedLargeInt )( LPCWSTR pcszNameIn,
  57. const ULARGE_INTEGER ulIntIn
  58. );
  59. STDMETHOD( SetPropertyLong )( LPCWSTR pcszNameIn,
  60. const LONG lLongIn
  61. );
  62. STDMETHOD( SetPropertySecurityDescriptor )( LPCWSTR pcszNameIn,
  63. const SECURITY_DESCRIPTOR * pcsdIn
  64. );
  65. STDMETHOD( SetPropertyLargeInt )( LPCWSTR pcszNameIn,
  66. const LARGE_INTEGER lIntIn
  67. );
  68. STDMETHOD( SendResourceControl )( DWORD dwControlCode,
  69. LPVOID lpInBuffer,
  70. DWORD cbInBufferSize
  71. );
  72. // IPrivatePostCfgResource
  73. STDMETHOD( SetEntry )( CResourceEntry * presentryIn );
  74. }; // class CCreateServices