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 / cprpobj.h < prev    next >
Encoding:
C/C++ Source or Header  |  1997-07-29  |  1.9 KB  |  111 lines

  1. /*++
  2.  
  3. Copyright (c) 1996 Microsoft Corporation
  4.  
  5. Module Name:
  6.  
  7.     CPrpObj.h
  8.  
  9. Abstract:
  10.  
  11.     Sample Provider GetObject functionality
  12.  
  13. Author:
  14.  
  15. Environment:
  16.  
  17.     User mode
  18.  
  19. Revision History :
  20.  
  21. --*/
  22. #ifndef _CPRPOBJ_H_
  23. #define _CPRPOBJ_H_
  24.  
  25. struct SYNTAXMAP
  26. {
  27.     BSTR   bstrName;
  28.     BSTR   bstrSampleDSName;
  29.     long   lOleAutoDataType;
  30. };
  31.  
  32. struct SYNTAXINFO
  33. {
  34.     BSTR   bstrName;
  35.     long   lOleAutoDataType;
  36. };
  37.  
  38. class CSampleDSProperty : INHERIT_TRACKING,
  39.                        public CCoreADsObject,
  40.                        public IADsProperty
  41. {
  42. public:
  43.  
  44.     /* IUnknown methods */
  45.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) ;
  46.     DECLARE_STD_REFCOUNTING
  47.  
  48.     /* Other methods */
  49.     DECLARE_IDispatch_METHODS
  50.  
  51.     DECLARE_IADs_METHODS
  52.  
  53.     DECLARE_IADsProperty_METHODS
  54.  
  55.     /* Constructors, Destructors, ... */
  56.     CSampleDSProperty::CSampleDSProperty();
  57.  
  58.     CSampleDSProperty::~CSampleDSProperty();
  59.  
  60.     static
  61.     HRESULT
  62.     CSampleDSProperty::CreateProperty(
  63.         BSTR   bstrParent,
  64.         BSTR   bstrName,
  65.         LPSampleDS_ATTR_DEF lpAttrDef,
  66.         DWORD  dwObjectState,
  67.         REFIID riid,
  68.         void **ppvObj
  69.         );
  70.  
  71.     static
  72.     HRESULT
  73.     CSampleDSProperty::CreateProperty(
  74.         BSTR   bstrParent,
  75.         BSTR   bstrName,
  76.         HANDLE hTree,
  77.         DWORD  dwObjectState,
  78.         REFIID riid,
  79.         void **ppvObj
  80.         );
  81.  
  82.     static
  83.     HRESULT
  84.     CSampleDSProperty::AllocatePropertyObject(
  85.         CSampleDSProperty **ppProperty
  86.         );
  87.  
  88. protected:
  89.  
  90.     CDispatchMgr FAR * _pDispMgr;
  91.  
  92.     /* Properties */
  93.     VARIANT _vADsNames;
  94.     VARIANT _vDsNames;
  95.     BSTR _bstrSyntax;
  96. };
  97.  
  98. HRESULT
  99. MapSyntaxIdtoADsSyntax(
  100.     DWORD dwSyntaxId,
  101.     LPWSTR pszADsSyntax
  102.     );
  103.  
  104. HRESULT
  105. MapSyntaxIdtoSampleDSSyntax(
  106.     DWORD dwSyntaxId,
  107.     LPWSTR pszSampleDSSyntax
  108.     );
  109. #endif
  110.  
  111.