windows-nt/Source/XPSP1/NT/inetsrv/iis/admin/adsi/adsiis/cenumobj.hxx
2020-09-26 16:20:57 +08:00

84 lines
1.6 KiB
C++

//---------------------------------------------------------------------------
//
// 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
);