101 lines
2.6 KiB
C++
101 lines
2.6 KiB
C++
|
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;
|
||
|
};
|
||
|
|
||
|
|