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
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
|