Source code of Windows XP (NT5)
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.
|
|
//=============================================================================
//
// Copyright (c) 1996-1999, Microsoft Corporation, All rights reserved
//
// STDTRIG.H
//
// This files defines the classes for event filters corresponding to standard
// event filters the users will create
//
// Classes defined:
//
// CBuiltinEventFilter Base class for standard filters
//
// History:
//
// 11/27/96 a-levn Compiles
//
//=============================================================================
#ifndef __BUILTIN_FILTER__H_
#define __BUILTIN_FILTER__H_
#include "eventrep.h"
#include "binding.h"
#include "aggreg.h"
#include "filter.h"
class CEssNamespace; class CPermanentFilter : public CGenericFilter { protected: CCompressedString* m_pcsQuery; CInternalString m_isEventNamespace;
PSECURITY_DESCRIPTOR m_pEventAccessRelativeSD; SECURITY_DESCRIPTOR m_EventAccessAbsoluteSD;
static long mstatic_lNameHandle; static long mstatic_lLanguageHandle; static long mstatic_lQueryHandle; static long mstatic_lEventNamespaceHandle; static long mstatic_lEventAccessHandle; static long mstatic_lSidHandle; static bool mstatic_bHandlesInitialized; static long mstatic_lGuardNamespaceHandle; static long mstatic_lGuardHandle;
static HRESULT InitializeHandles(_IWmiObject* pObject); protected: static SYSFREE_ME BSTR GetBSTR(READ_ONLY IWbemClassObject* pObject, READ_ONLY LPWSTR wszName); HRESULT RetrieveQuery(DELETE_ME LPWSTR& wszQuery);
public: CPermanentFilter(CEssNamespace* pNamespace); HRESULT Initialize(IWbemClassObject* pFilterObj);
virtual ~CPermanentFilter();
BOOL IsPermanent() {return TRUE;} virtual HRESULT SetThreadSecurity() {return S_OK;} HRESULT ObtainToken(IWbemToken** ppToken);
virtual const PSECURITY_DESCRIPTOR GetEventAccessSD();
virtual HRESULT GetCoveringQuery(DELETE_ME LPWSTR& wszQueryLanguage, DELETE_ME LPWSTR& wszQuery, BOOL& bExact, DELETE_ME QL_LEVEL_1_RPN_EXPRESSION** ppExp); virtual DWORD GetForceFlags() {return 0;} virtual HRESULT GetEventNamespace(DELETE_ME LPWSTR* pwszNamespace); static SYSFREE_ME BSTR ComputeKeyFromObj(IWbemClassObject* pFilterObj); static SYSFREE_ME BSTR ComputeKeyFromPath(LPCWSTR wszPath); static HRESULT CheckValidity( IWbemClassObject* pFilterObj);
void Park(); };
#endif
|