class FAR CWinNTComputerEnum : public CWinNTEnumVariant { public: CWinNTComputerEnum(ObjectTypeList ObjList); CWinNTComputerEnum(); ~CWinNTComputerEnum(); HRESULT EnumObjects(ULONG cElements, VARIANT FAR * pvar, ULONG FAR * pcElementFetched); static HRESULT CWinNTComputerEnum::Create( CWinNTComputerEnum FAR* FAR* ppenumvariant, BSTR ADsPath, BSTR DomainName, BSTR ComputerName, VARIANT var, CWinNTCredentials& Credentials ); private: ObjectTypeList FAR *_pObjList; LPBYTE _pBuffer; DWORD _dwObjectReturned; DWORD _dwObjectCurrentEntry; DWORD _dwObjectTotal; BOOL _bNoMore; DWORD _dwIndex; HANDLE _hGGroupComputer; HANDLE _hLGroupComputer; DWORD _dwGroupArrayIndex; LPBYTE _pPrinterBuffer; DWORD _dwPrinterObjectReturned; DWORD _dwPrinterObjectCurrentEntry; DWORD _dwPrinterObjectTotal; BOOL _fPrinterNoMore; LPBYTE _pServiceBuffer; DWORD _dwServiceObjectReturned; DWORD _dwServiceObjectCurrentEntry; DWORD _dwServiceObjectTotal; BOOL _fServiceNoMore; BSTR _ComputerName; BSTR _ADsPath; BSTR _DomainName; CWinNTCredentials _Credentials; HRESULT CWinNTComputerEnum::GetUserObject(IDispatch ** ppDispatch); HRESULT CWinNTComputerEnum::GetGroupObject(IDispatch ** ppDispatch); HRESULT CWinNTComputerEnum::GetPrinterObject(IDispatch ** ppDispatch); HRESULT CWinNTComputerEnum::GetServiceObject(IDispatch ** ppDispatch); HRESULT EnumUsers( ULONG cElements, VARIANT FAR* pvar, ULONG FAR* pcElementFetched ); HRESULT EnumPrintQueues( ULONG cElements, VARIANT FAR* pvar, ULONG FAR* pcElementFetched ); HRESULT EnumServices( ULONG cElements, VARIANT FAR* pvar, ULONG FAR* pcElementFetched ); HRESULT CWinNTComputerEnum::GetLocalGroupObject( IDispatch ** ppDispatch ); HRESULT CWinNTComputerEnum::GetGlobalGroupObject( IDispatch ** ppDispatch ); HRESULT EnumComputers( ULONG cElements, VARIANT FAR* pvar, ULONG FAR* pcElementFetched ); HRESULT EnumGroups( ULONG cElements, VARIANT FAR* pvar, ULONG FAR* pcElementFetched ); HRESULT CWinNTComputerEnum::EnumGroupObjects( DWORD ObjectType, ULONG cElements, VARIANT FAR * pvar, ULONG FAR * pcElementFetched ); HRESULT CWinNTComputerEnum::EnumGlobalGroups( ULONG cElements, VARIANT FAR* pvar, ULONG FAR* pcElementFetched ); HRESULT CWinNTComputerEnum::EnumLocalGroups( ULONG cElements, VARIANT FAR* pvar, ULONG FAR* pcElementFetched ); HRESULT EnumObjects( DWORD ObjectType, ULONG cElements, VARIANT FAR * pvar, ULONG FAR * pcElementFetched ); STDMETHOD(Next)( ULONG cElements, VARIANT FAR* pvar, ULONG FAR* pcElementFetched ); };