|
|
class FAR CWinNTSchemaEnum : public CWinNTEnumVariant { public: // IEnumVARIANT methods
STDMETHOD(Next)( ULONG cElements, VARIANT FAR* pvar, ULONG FAR* pcElementFetched);
static HRESULT Create( CWinNTSchemaEnum FAR* FAR* ppenumvariant, BSTR bstrADsPath, BSTR bstrDomainName, VARIANT vFilter, CWinNTCredentials& Credentials );
CWinNTSchemaEnum(); ~CWinNTSchemaEnum();
HRESULT EnumObjects( ULONG cElements, VARIANT FAR * pvar, ULONG FAR * pcElementFetched );
private:
ObjectTypeList FAR *_pObjList;
BSTR _bstrName; BSTR _bstrADsPath;
DWORD _dwCurrentEntry;
DWORD _dwPropCurrentEntry; CWinNTCredentials _Credentials;
HRESULT CWinNTSchemaEnum::GetClassObject( IDispatch **ppDispatch );
HRESULT EnumClasses( ULONG cElements, VARIANT FAR* pvar, ULONG FAR* pcElementFetched );
HRESULT CWinNTSchemaEnum::GetSyntaxObject( IDispatch **ppDispatch );
HRESULT CWinNTSchemaEnum::GetPropertyObject( IDispatch ** ppDispatch );
HRESULT EnumSyntaxObjects( ULONG cElements, VARIANT FAR* pvar, ULONG FAR* pcElementFetched );
HRESULT CWinNTSchemaEnum::EnumObjects( DWORD ObjectType, ULONG cElements, VARIANT FAR * pvar, ULONG FAR * pcElementFetched );
HRESULT CWinNTSchemaEnum::EnumProperties( ULONG cElements, VARIANT FAR* pvar, ULONG FAR* pcElementFetched ); };
class FAR CWinNTClassEnum : public CWinNTEnumVariant { public: // IEnumVARIANT methods
STDMETHOD(Next)( ULONG cElements, VARIANT FAR* pvar, ULONG FAR* pcElementFetched);
static HRESULT Create( CWinNTClassEnum FAR* FAR* ppenumvariant, BSTR bstrADsPath, BSTR bstrParent, PROPERTYINFO *aPropertyInfo, DWORD cPropertyInfo, VARIANT vFilter );
CWinNTClassEnum( PROPERTYINFO *aPropertyInfo, DWORD cPropertyInfo ); ~CWinNTClassEnum();
private: DWORD _dwCurrentEntry;
BSTR _bstrADsPath; BSTR _bstrParent; PROPERTYINFO *_aPropertyInfo; DWORD _cPropertyInfo; };
|