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.

73 lines
2.2 KiB

  1. //////////////////////////////////////////////////////////////////////////////
  2. //
  3. // Copyright (c) 2000-2001 Microsoft Corporation
  4. //
  5. // Module Name:
  6. // CResourcePhysicalDiskPartition.h
  7. //
  8. // Description:
  9. // CResourcePhysicalDiskPartition header.
  10. //
  11. // Maintained By:
  12. // Galen Barbee (GalenB) 23-AUG-2000
  13. //
  14. //////////////////////////////////////////////////////////////////////////////
  15. // Make sure that this file is included only once per compile path.
  16. #pragma once
  17. //////////////////////////////////////////////////////////////////////////////
  18. //++
  19. //
  20. // class CResourcePhysicalDiskPartition
  21. //
  22. // Description:
  23. // The class CResourcePhysicalDiskPartition is the enumeration of cluster
  24. // storage device partitions.
  25. //
  26. // Interfaces:
  27. // IClusCfgPartitionInfo
  28. //
  29. //--
  30. //////////////////////////////////////////////////////////////////////////////
  31. class CResourcePhysicalDiskPartition
  32. : public IClusCfgPartitionInfo
  33. {
  34. private:
  35. LONG m_cRef; // Reference counter
  36. CResourcePhysicalDiskPartition( void );
  37. ~CResourcePhysicalDiskPartition( void );
  38. // Private copy constructor to prevent copying.
  39. CResourcePhysicalDiskPartition( const CResourcePhysicalDiskPartition & nodeSrc );
  40. // Private assignment operator to prevent copying.
  41. const CResourcePhysicalDiskPartition & operator = ( const CResourcePhysicalDiskPartition & nodeSrc );
  42. HRESULT
  43. HrInit( void );
  44. public:
  45. static HRESULT
  46. S_HrCreateInstance( IUnknown ** punkOut );
  47. // IUnknown
  48. STDMETHOD( QueryInterface )( REFIID riid, LPVOID * ppv );
  49. STDMETHOD_( ULONG, AddRef )( void );
  50. STDMETHOD_( ULONG, Release )( void );
  51. // IClusCfgPartitionInfo Interface
  52. STDMETHOD( GetUID )( BSTR * pbstrUIDOut );
  53. STDMETHOD( GetName )( BSTR * pbstrNameOut );
  54. STDMETHOD( GetDescription )( BSTR * pbstrDescriptionOut );
  55. STDMETHOD( GetDriveLetterMappings )( SDriveLetterMapping * pdlmDriveLetterUsageOut );
  56. STDMETHOD( GetSize )( ULONG * pcMegaBytes );
  57. STDMETHOD( SetName )( LPCWSTR pcszNameIn );
  58. STDMETHOD( SetDescription )( LPCWSTR pcszDescriptionIn );
  59. STDMETHOD( SetDriveLetterMappings )( SDriveLetterMapping dlmDriveLetterMappingIn );
  60. }; //*** Class CResourcePhysicalDiskPartition