98 lines
2 KiB
C++
98 lines
2 KiB
C++
class CNDSClass;
|
|
|
|
|
|
class CNDSClass : INHERIT_TRACKING,
|
|
public CCoreADsObject,
|
|
public IADsClass
|
|
{
|
|
public:
|
|
|
|
/* IUnknown methods */
|
|
STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) ;
|
|
|
|
DECLARE_STD_REFCOUNTING
|
|
|
|
DECLARE_IDispatch_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,
|
|
NDS_CONTEXT_HANDLE hADsContext,
|
|
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
|
|
);
|