CPRPOBJ.H
上传用户:bangxh
上传日期:2007-01-31
资源大小:42235k
文件大小:2k
源码类别:

Windows编程

开发平台:

Visual C++

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