windows-nt/Source/XPSP1/NT/ds/adsi/nds/cclsobj.hxx
2020-09-26 16:20:57 +08:00

101 lines
2.1 KiB
C++

class CNDSClass;
class CNDSClass : INHERIT_TRACKING,
public CCoreADsObject,
public ISupportErrorInfo,
public IADsClass
{
public:
/* IUnknown methods */
STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) ;
DECLARE_STD_REFCOUNTING
DECLARE_IDispatch_METHODS
DECLARE_ISupportErrorInfo_METHODS
DECLARE_IADs_METHODS
DECLARE_IADsClass_METHODS
CNDSClass::CNDSClass();
CNDSClass::~CNDSClass();
static
HRESULT
CNDSClass::CreateClass(
BSTR Parent,
BSTR CommonName,
LPNDS_CLASS_DEF lpClassDefs,
CCredentials& Credentials,
DWORD dwObjectState,
REFIID riid,
void **ppvObj
);
static
HRESULT
CNDSClass::CreateClass(
BSTR Parent,
BSTR CommonName,
HANDLE hTree,
CCredentials& Credentials,
DWORD dwObjectState,
REFIID riid,
void **ppvObj
);
static
HRESULT
CNDSClass::AllocateClassObject(
CCredentials& Credentials,
CNDSClass ** ppClass
);
STDMETHOD(GetInfo)(
THIS_ DWORD dwApiLevel,
BOOL fExplicit
);
protected:
VARIANT _vFilter;
BSTR _bstrCLSID;
BSTR _bstrOID;
BSTR _bstrPrimaryInterface;
BSTR _bstrHelpFileName;
LONG _lHelpFileContext;
DWORD _dwFlags;
LPWSTR _lpClassName;
DWORD _dwNumberOfSuperClasses;
PPROPENTRY _lpSuperClasses;
DWORD _dwNumberOfContainmentClasses;
PPROPENTRY _lpContainmentClasses;
DWORD _dwNumberOfNamingAttributes;
PPROPENTRY _lpNamingAttributes;
DWORD _dwNumberOfMandatoryAttributes;
PPROPENTRY _lpMandatoryAttributes;
DWORD _dwNumberOfOptionalAttributes;
PPROPENTRY _lpOptionalAttributes;
CCredentials _Credentials;
CDispatchMgr FAR * _pDispMgr;
};
HRESULT
MakeVariantFromPropList(
PPROPENTRY pPropList,
DWORD dwNumEntries,
VARIANT * pVarList
);
PPROPENTRY
CreatePropertyList(
LPWSTR_LIST lpStringList
);