windows-nt/Source/XPSP1/NT/ds/adsi/nds/cenumgrp.hxx
2020-09-26 16:20:57 +08:00

90 lines
1.5 KiB
C++

class FAR CNDSGroupCollectionEnum : public CNDSEnumVariant
{
public:
CNDSGroupCollectionEnum();
~CNDSGroupCollectionEnum();
static
HRESULT
CNDSGroupCollectionEnum::Create(
BSTR bstrGroupName,
CCredentials& Credentials,
CNDSGroupCollectionEnum FAR* FAR* ppenumvariant,
VARIANT var,
VARIANT varFilter
);
private:
VARIANT _vMembers;
ObjectTypeList *_pObjList;
BSTR _bstrGroupName;
DWORD _dwIndex;
DWORD _dwSUBound;
DWORD _dwSLBound;
DWORD _dwMultiple;
CCredentials _Credentials;
HRESULT
CNDSGroupCollectionEnum::ValidateSingleVariant(
VARIANT var
);
HRESULT
CNDSGroupCollectionEnum::ValidateMultipleVariant(
VARIANT var
);
HRESULT
CNDSGroupCollectionEnum::ValidateVariant(
VARIANT var
);
HRESULT
CNDSGroupCollectionEnum::GetGroupMultipleMemberObject(
IDispatch ** ppDispatch
);
HRESULT
CNDSGroupCollectionEnum::GetGroupSingleMemberObject(
IDispatch ** ppDispatch
);
HRESULT
CNDSGroupCollectionEnum::EnumGroupMembers(
ULONG cElements,
VARIANT FAR* pvar,
ULONG FAR* pcElementFetched
);
STDMETHOD(Next)(
ULONG cElements,
VARIANT FAR* pvar,
ULONG FAR* pcElementFetched
);
};
#define EMPTY 1
#define SINGLE 2
#define MULTIPLE 3