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.

42 lines
1.3 KiB

  1. //******************************************************************************
  2. //
  3. // TEMPCONS.H
  4. //
  5. // Copyright (C) 1996-1999 Microsoft Corporation
  6. //
  7. //******************************************************************************
  8. #ifndef __WMI_ESS_TEMP_CONSUMER__H_
  9. #define __WMI_ESS_TEMP_CONSUMER__H_
  10. #include "binding.h"
  11. #include "tempfilt.h"
  12. class CTempConsumer : public CEventConsumer
  13. {
  14. //
  15. // ESS can internally use temporary subscriptions to satisfy cross
  16. // namespace subscriptions. We need to be able to propagate the
  17. // 'permanent'-ness with the temporary subscription to the target
  18. // namespace.
  19. //
  20. BOOL m_bEffectivelyPermanent;
  21. IWbemObjectSink* m_pSink;
  22. public:
  23. CTempConsumer(CEssNamespace* pNamespace);
  24. HRESULT Initialize( BOOL bEffectivelyPermanent, IWbemObjectSink* pSink);
  25. ~CTempConsumer();
  26. BOOL IsPermanent() const { return m_bEffectivelyPermanent; }
  27. HRESULT ActuallyDeliver(long lNumEvents, IWbemEvent** apEvents,
  28. BOOL bSecure, CEventContext* pContext);
  29. static DELETE_ME LPWSTR ComputeKeyFromSink(IWbemObjectSink* pSink);
  30. HRESULT ReportQueueOverflow(IWbemEvent* pEvent, DWORD dwQueueSize);
  31. HRESULT Shutdown(bool bQuiet = false);
  32. };
  33. #endif