mirror of https://github.com/tongzx/nt5src
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.2 KiB
42 lines
1.2 KiB
//******************************************************************************
|
|
//
|
|
// TEMPCONS.H
|
|
//
|
|
// Copyright (C) 1996-1999 Microsoft Corporation
|
|
//
|
|
//******************************************************************************
|
|
#ifndef __WMI_ESS_TEMP_CONSUMER__H_
|
|
#define __WMI_ESS_TEMP_CONSUMER__H_
|
|
|
|
#include "binding.h"
|
|
#include "tempfilt.h"
|
|
|
|
class CTempConsumer : public CEventConsumer
|
|
{
|
|
//
|
|
// ESS can internally use temporary subscriptions to satisfy cross
|
|
// namespace subscriptions. We need to be able to propagate the
|
|
// 'permanent'-ness with the temporary subscription to the target
|
|
// namespace.
|
|
//
|
|
BOOL m_bEffectivelyPermanent;
|
|
|
|
IWbemObjectSink* m_pSink;
|
|
|
|
public:
|
|
CTempConsumer(CEssNamespace* pNamespace);
|
|
HRESULT Initialize( BOOL bEffectivelyPermanent, IWbemObjectSink* pSink);
|
|
~CTempConsumer();
|
|
|
|
BOOL IsPermanent() const { return m_bEffectivelyPermanent; }
|
|
|
|
HRESULT ActuallyDeliver(long lNumEvents, IWbemEvent** apEvents,
|
|
BOOL bSecure, CEventContext* pContext);
|
|
|
|
static DELETE_ME LPWSTR ComputeKeyFromSink(IWbemObjectSink* pSink);
|
|
|
|
HRESULT ReportQueueOverflow(IWbemEvent* pEvent, DWORD dwQueueSize);
|
|
HRESULT Shutdown(bool bQuiet = false);
|
|
};
|
|
|
|
#endif
|