Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

93 lines
2.3 KiB

  1. /*++
  2. Copyright (c) 2000-2001 Microsoft Corporation
  3. Module Name:
  4. AssocBase.h
  5. Abstract:
  6. Definition of:
  7. CAssocBase
  8. Author:
  9. Mohit Srivastava 22-Mar-2001
  10. Revision History:
  11. --*/
  12. #ifndef _assocbase_h_
  13. #define _assocbase_h_
  14. #include <windows.h>
  15. #include <ole2.h>
  16. #include <stdio.h>
  17. #include <genlex.h>
  18. #include "sqllex.h"
  19. #include <sql_1ext.h>
  20. #include <opathlex.h>
  21. #include <objpath.h>
  22. #include <wbemprov.h>
  23. #include "WbemServices.h"
  24. #include "WbemObjectSink.h"
  25. #include "schema.h"
  26. class CAssocBase
  27. {
  28. public:
  29. CAssocBase(
  30. CWbemServices* i_pNamespace,
  31. IWbemObjectSink* i_pResponseHandler,
  32. WMI_ASSOCIATION* i_pWmiAssoc);
  33. virtual void GetInstances(
  34. SQL_LEVEL_1_RPN_EXPRESSION_EXT* i_pExp = NULL) = 0;
  35. protected:
  36. void GetAllInstances(
  37. WMI_ASSOCIATION* i_pWmiAssoc);
  38. void ProcessQuery(
  39. SQL_LEVEL_1_RPN_EXPRESSION_EXT* i_pExp,
  40. WMI_ASSOCIATION* i_pWmiAssoc,
  41. SQL_LEVEL_1_TOKEN** o_ppTokenLeft,
  42. SQL_LEVEL_1_TOKEN** o_ppTokenRight,
  43. bool* o_pbDoQuery);
  44. void Indicate(
  45. BSTR i_bstrObjPathLeft,
  46. BSTR i_bstrObjPathRight,
  47. bool i_bVerifyLeft = true,
  48. bool i_bVerifyRight = true);
  49. void Indicate(
  50. const BSTR i_bstrLeftObjPath,
  51. ParsedObjectPath* i_pParsedRightObjPath,
  52. bool i_bVerifyLeft = true,
  53. bool i_bVerifyRight = true);
  54. void Indicate(
  55. ParsedObjectPath* i_pParsedLeftObjPath,
  56. const BSTR i_bstrRightObjPath,
  57. bool i_bVerifyLeft = true,
  58. bool i_bVerifyRight = true);
  59. bool LookupKeytypeInMb(
  60. LPCWSTR i_wszWmiPath,
  61. WMI_CLASS* i_pWmiClass);
  62. CWbemServices* m_pNamespace;
  63. CWbemObjectSink m_InstanceMgr;
  64. WMI_ASSOCIATION* m_pWmiAssoc;
  65. CObjectPathParser m_PathParser;
  66. private:
  67. IWbemObjectSink* m_pResponseHandler;
  68. };
  69. #endif // _assocbase_h_