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.
 
 
 
 
 
 

118 lines
2.6 KiB

/******************************************************************
QuotaSettings.H -- WMI provider class definition
Description: Quota Settings Provider for the volumes that Supports
Disk Quotas, class Definition
Copyright (c) 2000-2001 Microsoft Corporation, All Rights Reserved
******************************************************************/
#ifndef _CQUOTASETTINGS_H_
#define _CQUOTASETTINGS_H_
// Defining bit values for the property, which will be used for defining the bitmap of properties required.
#define QUOTASETTINGS_ALL_PROPS 0xFFFFFFFF
#define QUOTASETTINGS_PROP_VolumePath 0x00000001
#define QUOTASETTINGS_PROP_State 0x00000002
#define QUOTASETTINGS_PROP_DefaultLimit 0x00000004
#define QUOTASETTINGS_PROP_DefaultWarningLimit 0x00000008
#define QUOTASETTINGS_PROP_QuotaExceededNotification 0x00000010
#define QUOTASETTINGS_PROP_WarningExceededNotification 0x00000020
#define QUOTASETTINGS_PROP_Caption 0x00000040
class CQuotaSettings : public Provider
{
private:
HRESULT EnumerateAllVolumes (
MethodContext *pMethodContext,
DWORD &PropertiesReq
);
HRESULT LoadDiskQuotaVolumeProperties (
LPCWSTR a_VolumeName,
LPCWSTR a_Caption,
DWORD dwPropertiesReq,
CInstancePtr pInstance
);
HRESULT SetDiskQuotaVolumeProperties (
const CInstance &Instance,
IDiskQuotaControlPtr pIQuotaControl
);
HRESULT CheckParameters (
const CInstance &a_Instance
);
void SetRequiredProperties (
CFrameworkQuery *Query,
DWORD &dwPropertiesReq
);
HRESULT PutVolumeDetails (
LPCWSTR a_VolumeName,
MethodContext *pMethodContext,
DWORD dwPropertiesReq
);
protected:
// Reading Functions
//============================
HRESULT EnumerateInstances (
MethodContext *pMethodContext,
long lFlags = 0L
) ;
HRESULT GetObject (
CInstance *pInstance,
long lFlags,
CFrameworkQuery &Query
) ;
HRESULT ExecQuery (
MethodContext *pMethodContext,
CFrameworkQuery& Query,
long lFlags = 0
) ;
// Writing Functions
//============================
HRESULT PutInstance (
const CInstance& Instance,
long lFlags = 0L
) ;
public:
// Constructor/destructor
//=======================
CQuotaSettings (
LPCWSTR lpwszClassName,
LPCWSTR lpwszNameSpace
) ;
virtual ~CQuotaSettings () ;
private:
DskCommonRoutines m_CommonRoutine;
};
#endif