//--------------------------------------------------------------------------- // // Microsoft Windows // Copyright (C) Microsoft Corporation, 1997 // // File: cenumobj.hxx // // Contents: IIS Object Enumeration Code // // History: 21-Feb-97 SophiaC Created. //---------------------------------------------------------------------------- class FAR CIISGenObjectEnum : public CIISEnumVariant { public: CIISGenObjectEnum(ObjectTypeList ObjList); CIISGenObjectEnum(); ~CIISGenObjectEnum(); HRESULT EnumObjects( ULONG cElements, VARIANT FAR * pvar, ULONG FAR * pcElementFetched ); static HRESULT CIISGenObjectEnum::Create( CIISGenObjectEnum FAR* FAR* ppenumvariant, BSTR ADsPath, VARIANT var, CCredentials& Credentials ); private: DWORD _dwObjectCurrentEntry; BSTR _ADsPath; LPWSTR _pszServerName; LPWSTR _pszMetaBasePath; IMSAdminBase *_pAdminBase; //interface pointer IIsSchema *_pSchema; CCredentials _Credentials; HRESULT CIISGenObjectEnum::GetGenObject( IDispatch ** ppDispatch ); HRESULT EnumGenericObjects( ULONG cElements, VARIANT FAR* pvar, ULONG FAR* pcElementFetched ); STDMETHOD(Next)( ULONG cElements, VARIANT FAR* pvar, ULONG FAR* pcElementFetched ); }; HRESULT BuildIISFilterArray( VARIANT var, LPBYTE * ppContigFilter ); void FreeFilterList( LPBYTE lpContigFilter ); LPBYTE CreateAndAppendFilterEntry( LPBYTE pContigFilter, LPWSTR lpObjectClass );