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.
188 lines
4.5 KiB
188 lines
4.5 KiB
//////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// Copyright (c) 2002-2004 Microsoft Corporation
|
|
//
|
|
// Module Name:
|
|
// Quota.h
|
|
//
|
|
// Implementation File:
|
|
// Quota.cpp
|
|
//
|
|
// Description:
|
|
// Definition of the VDS WMI Provider quota classes.
|
|
//
|
|
// Author: Jim Benton (jbenton) 25-Mar-2002
|
|
//
|
|
// Notes:
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
#pragma once
|
|
|
|
#include "ProvBase.h"
|
|
#include "dskquota.h"
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
//++
|
|
//
|
|
// class CVolumeQuota
|
|
//
|
|
// Description:
|
|
// Provider Implementation for Volume
|
|
//
|
|
//--
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
class CVolumeQuota : public CProvBase
|
|
{
|
|
//
|
|
// constructor
|
|
//
|
|
public:
|
|
CVolumeQuota(
|
|
LPCWSTR pwszNameIn,
|
|
CWbemServices * pNamespaceIn
|
|
);
|
|
|
|
~CVolumeQuota(){ }
|
|
|
|
//
|
|
// methods
|
|
//
|
|
public:
|
|
|
|
virtual HRESULT EnumInstance(
|
|
long lFlagsIn,
|
|
IWbemContext* pCtxIn,
|
|
IWbemObjectSink* pHandlerIn
|
|
);
|
|
|
|
virtual HRESULT GetObject(
|
|
CObjPath& rObjPathIn,
|
|
long lFlagsIn,
|
|
IWbemContext* pCtxIn,
|
|
IWbemObjectSink* pHandlerIn
|
|
) { return WBEM_E_NOT_SUPPORTED; };
|
|
|
|
virtual HRESULT ExecuteMethod(
|
|
BSTR bstrObjPathIn,
|
|
WCHAR* pwszMethodNameIn,
|
|
long lFlagIn,
|
|
IWbemClassObject* pParamsIn,
|
|
IWbemObjectSink* pHandlerIn
|
|
) { return WBEM_E_NOT_SUPPORTED; };
|
|
|
|
virtual HRESULT PutInstance(
|
|
CWbemClassObject& rInstToPutIn,
|
|
long lFlagIn,
|
|
IWbemContext* pCtxIn,
|
|
IWbemObjectSink* pHandlerIn
|
|
) { return WBEM_E_NOT_SUPPORTED; };
|
|
|
|
virtual HRESULT DeleteInstance(
|
|
CObjPath& rObjPathIn,
|
|
long lFlagIn,
|
|
IWbemContext* pCtxIn,
|
|
IWbemObjectSink* pHandlerIn
|
|
) { return WBEM_E_NOT_SUPPORTED; };
|
|
|
|
static CProvBase * S_CreateThis(
|
|
LPCWSTR pwszNameIn,
|
|
CWbemServices* pNamespaceIn
|
|
);
|
|
|
|
HRESULT Initialize();
|
|
|
|
private:
|
|
|
|
void LoadInstance(
|
|
IN WCHAR* pwszVolume,
|
|
IN WCHAR* pwszDirectory,
|
|
IN OUT IWbemClassObject* pObject);
|
|
|
|
}; // class CVolumeQuota
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
//++
|
|
//
|
|
// class CVolumeUserQuota
|
|
//
|
|
// Description:
|
|
// Provider Implementation for Volume
|
|
//
|
|
//--
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
class CVolumeUserQuota : public CProvBase
|
|
{
|
|
//
|
|
// constructor
|
|
//
|
|
public:
|
|
CVolumeUserQuota(
|
|
LPCWSTR pwszNameIn,
|
|
CWbemServices * pNamespaceIn
|
|
);
|
|
|
|
~CVolumeUserQuota(){ }
|
|
|
|
//
|
|
// methods
|
|
//
|
|
public:
|
|
|
|
virtual HRESULT EnumInstance(
|
|
long lFlagsIn,
|
|
IWbemContext* pCtxIn,
|
|
IWbemObjectSink* pHandlerIn
|
|
);
|
|
|
|
virtual HRESULT GetObject(
|
|
CObjPath& rObjPathIn,
|
|
long lFlagsIn,
|
|
IWbemContext* pCtxIn,
|
|
IWbemObjectSink* pHandlerIn
|
|
);
|
|
|
|
virtual HRESULT ExecuteMethod(
|
|
BSTR bstrObjPathIn,
|
|
WCHAR* pwszMethodNameIn,
|
|
long lFlagIn,
|
|
IWbemClassObject* pParamsIn,
|
|
IWbemObjectSink* pHandlerIn
|
|
) { return WBEM_E_NOT_SUPPORTED; };
|
|
|
|
virtual HRESULT PutInstance(
|
|
CWbemClassObject& rInstToPutIn,
|
|
long lFlagIn,
|
|
IWbemContext* pCtxIn,
|
|
IWbemObjectSink* pHandlerIn
|
|
);
|
|
|
|
virtual HRESULT DeleteInstance(
|
|
CObjPath& rObjPathIn,
|
|
long lFlagIn,
|
|
IWbemContext* pCtxIn,
|
|
IWbemObjectSink* pHandlerIn
|
|
);
|
|
|
|
static CProvBase * S_CreateThis(
|
|
LPCWSTR pwszNameIn,
|
|
CWbemServices* pNamespaceIn
|
|
);
|
|
|
|
HRESULT Initialize();
|
|
|
|
private:
|
|
|
|
void LoadInstance(
|
|
IN WCHAR* pwszVolume,
|
|
IN IDiskQuotaUser* pIDQUser,
|
|
IN OUT IWbemClassObject* pObject);
|
|
|
|
HRESULT Create(
|
|
IN _bstr_t bstrDomainName,
|
|
IN _bstr_t bstrUserName,
|
|
IN IDiskQuotaControl* pIDQC,
|
|
OUT IDiskQuotaUser** ppIQuotaUser);
|
|
}; // class CVolumeUserQuota
|
|
|