66 lines
1.1 KiB
C++
66 lines
1.1 KiB
C++
|
|
||
|
class FAR CNDSNamespaceEnum : public CNDSEnumVariant
|
||
|
{
|
||
|
public:
|
||
|
|
||
|
// IEnumVARIANT methods
|
||
|
STDMETHOD(Next)(ULONG cElements,
|
||
|
VARIANT FAR* pvar,
|
||
|
ULONG FAR* pcElementFetched);
|
||
|
|
||
|
static
|
||
|
HRESULT
|
||
|
Create(
|
||
|
CNDSNamespaceEnum FAR* FAR*,
|
||
|
VARIANT var,
|
||
|
CCredentials& Credentials
|
||
|
);
|
||
|
|
||
|
CNDSNamespaceEnum();
|
||
|
~CNDSNamespaceEnum();
|
||
|
|
||
|
HRESULT
|
||
|
PrepBuffer();
|
||
|
|
||
|
HRESULT
|
||
|
FetchNextObject(
|
||
|
IDispatch ** ppDispatch
|
||
|
);
|
||
|
|
||
|
HRESULT
|
||
|
FetchObjects(
|
||
|
ULONG cElements,
|
||
|
VARIANT FAR* pvar,
|
||
|
ULONG FAR* pcElementFetched
|
||
|
);
|
||
|
|
||
|
HRESULT
|
||
|
CNDSNamespaceEnum::EnumObjects(
|
||
|
ULONG cElements,
|
||
|
VARIANT FAR* pvar,
|
||
|
ULONG FAR* pcElementFetched
|
||
|
);
|
||
|
|
||
|
HRESULT
|
||
|
CNDSNamespaceEnum::EnumObjects(
|
||
|
DWORD ObjectType,
|
||
|
ULONG cElements,
|
||
|
VARIANT FAR * pvar,
|
||
|
ULONG FAR * pcElementFetched
|
||
|
);
|
||
|
|
||
|
|
||
|
private:
|
||
|
|
||
|
ObjectTypeList FAR *_pObjList;
|
||
|
|
||
|
DWORD _dwEntriesRead;
|
||
|
DWORD _dwCurrentEntry;
|
||
|
HANDLE _hEnum;
|
||
|
LPVOID _pBuffer;
|
||
|
LPVOID _pBufferEnd;
|
||
|
|
||
|
|
||
|
CCredentials _Credentials;
|
||
|
};
|