home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / msdn_vcb / samples / vc98 / sdk / netds / adsi / sampprov / cenumns.h < prev    next >
Encoding:
C/C++ Source or Header  |  1997-07-29  |  1.2 KB  |  72 lines

  1. /*++
  2.  
  3. Copyright (c) 1996 Microsoft Corporation
  4.  
  5. Module Name:
  6.  
  7.     CEnumNs.h
  8.  
  9. Abstract:
  10.  
  11. Author:
  12.  
  13. Environment:
  14.  
  15.     User mode
  16.  
  17. Revision History :
  18.  
  19. --*/
  20. #ifndef _CENUMNS_H_
  21. #define _CENUMNS_H_
  22.  
  23. class FAR CSampleDSNamespaceEnum : public CSampleDSEnumVariant
  24. {
  25. public:
  26.  
  27.     // IEnumVARIANT methods
  28.     STDMETHOD(Next)(ULONG cElements,
  29.                     VARIANT FAR* pvar,
  30.                     ULONG FAR* pcElementFetched);
  31.  
  32.     static HRESULT Create(CSampleDSNamespaceEnum FAR* FAR*, VARIANT var);
  33.  
  34.     CSampleDSNamespaceEnum();
  35.     ~CSampleDSNamespaceEnum();
  36.  
  37.     HRESULT
  38.     PrepBuffer();
  39.  
  40.     HRESULT
  41.     FetchNextObject(
  42.         IDispatch ** ppDispatch
  43.         );
  44.  
  45.     HRESULT
  46.     FetchObjects(
  47.         ULONG cElements,
  48.         VARIANT FAR* pvar,
  49.         ULONG FAR* pcElementFetched
  50.         );
  51.  
  52.     HRESULT
  53.     CSampleDSNamespaceEnum::EnumObjects(
  54.         ULONG cElements,
  55.         VARIANT FAR* pvar,
  56.         ULONG FAR* pcElementFetched
  57.         );
  58.  
  59. private:
  60.  
  61.     ObjectTypeList FAR *_pObjList;
  62.  
  63.     DWORD _dwEntriesRead;
  64.     DWORD _dwCurrentEntry;
  65.     HANDLE _hEnum;
  66.     LPVOID _pBuffer;
  67.     LPVOID _pBufferEnd;
  68. };
  69.  
  70. #endif
  71.  
  72.