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

81 lines
2 KiB
C++

//---------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1996 - 1997
//
// File: cenumsch.hxx
//
// Contents: IIS Schema Enumeration Code
//
// History:
//----------------------------------------------------------------------------
class FAR CIISSchemaEnum : public CIISEnumVariant
{
public:
// IEnumVARIANT methods
STDMETHOD(Next)( ULONG cElements,
VARIANT FAR* pvar,
ULONG FAR* pcElementFetched);
static HRESULT Create( CIISSchemaEnum FAR* FAR* ppenumvariant,
IIsSchema * pSchema,
BSTR bstrADsPath,
BSTR bstrDomainName);
CIISSchemaEnum();
~CIISSchemaEnum();
HRESULT EnumObjects( ULONG cElements,
VARIANT FAR * pvar,
ULONG FAR * pcElementFetched );
private:
ObjectTypeList FAR *_pObjList;
BSTR _bstrName;
BSTR _bstrADsPath;
DWORD _dwCurrentEntry;
IIsSchema *_pSchema;
HRESULT
CIISSchemaEnum::GetClassObject( IDispatch **ppDispatch );
HRESULT
EnumClasses( ULONG cElements,
VARIANT FAR* pvar,
ULONG FAR* pcElementFetched );
HRESULT
CIISSchemaEnum::GetSyntaxObject( IDispatch **ppDispatch );
HRESULT
CIISSchemaEnum::GetPropertyObject(
IDispatch ** ppDispatch
);
HRESULT
EnumSyntaxObjects( ULONG cElements,
VARIANT FAR* pvar,
ULONG FAR* pcElementFetched );
HRESULT
CIISSchemaEnum::EnumObjects( DWORD ObjectType,
ULONG cElements,
VARIANT FAR * pvar,
ULONG FAR * pcElementFetched );
HRESULT
CIISSchemaEnum::EnumProperties(
ULONG cElements,
VARIANT FAR* pvar,
ULONG FAR* pcElementFetched
);
};