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.
|
|
//***************************************************************************
//
// NTEVTPROV.H
//
// Module: WBEM NT EVENT PROVIDER
//
// Copyright (c) 1996-2001 Microsoft Corporation, All Rights Reserved
//
//***************************************************************************
#ifndef _NT_EVT_PROV_NTEVTPROV_H
#define _NT_EVT_PROV_NTEVTPROV_H
class CEventProviderManager;
class CNTEventProvider : public IWbemEventProvider, public IWbemProviderInit, public IWbemEventProviderSecurity {
private:
IWbemServices* m_pNamespace; IWbemObjectSink* m_pEventSink; CEventProviderManager* m_Mgr; LONG m_ref; //copy constuctor not defined so not allowed!
CNTEventProvider(CNTEventProvider&); void operator=(const CNTEventProvider&);
public:
CNTEventProvider(CEventProviderManager* mgr);
IWbemServices* GetNamespace(); IWbemObjectSink* GetEventSink(); void AddRefAll(); void ReleaseAll();
~CNTEventProvider();
//globals
//=======
static ProvDebugLog* g_NTEvtDebugLog; static CMutex* g_secMutex; static PSID s_NetworkServiceSid; static PSID s_LocalServiceSid; static PSID s_AliasBackupOpsSid; static PSID s_AliasSystemOpsSid; static PSID s_AliasGuestsSid; static PSID s_LocalSystemSid; static PSID s_AliasAdminsSid; static PSID s_AnonymousLogonSid; static PSID s_WorldSid;
static void AllocateGlobalSIDs(); static void FreeGlobalSIDs(); static BOOL GlobalSIDsOK();
//interface methods
//==================
STDMETHODIMP ProvideEvents( IWbemObjectSink* pSink, LONG lFlags );
STDMETHODIMP QueryInterface(REFIID riid, PVOID* ppv); STDMETHODIMP_(ULONG) AddRef(); STDMETHODIMP_(ULONG) Release();
/* IWbemProviderInit methods */
STDMETHODIMP Initialize ( LPWSTR pszUser, LONG lFlags, LPWSTR pszNamespace, LPWSTR pszLocale, IWbemServices *pCIMOM, // For anybody
IWbemContext *pCtx, IWbemProviderInitSink *pInitSink // For init signals
);
/* IWbemEventProviderSecurity methods */
STDMETHODIMP AccessCheck( LPCWSTR wszQueryLanguage, LPCWSTR wszQuery, LONG lSidLength, const BYTE __RPC_FAR *pSid); };
#define DebugOut(a) { \
\ if ( (NULL != CNTEventProvider::g_NTEvtDebugLog) && CNTEventProvider::g_NTEvtDebugLog->GetLogging () && ( CNTEventProvider::g_NTEvtDebugLog->GetLevel () > 0 ) ) \ { \ {a ; } \ } \ }
#endif //_NT_EVT_PROV_NTEVTPROV_H
|