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.
 
 
 
 
 
 

76 lines
1.5 KiB

/*++
Copyright (c) 1998-2001 Microsoft Corporation
Module Name:
enum.h.cpp
Abstract:
Enumerates metabase tree.
Author:
???
Revision History:
Mohit Srivastava 18-Dec-00
--*/
#ifndef _enum_h_
#define _enum_h_
#include "WbemObjectSink.h"
#include <genlex.h>
#include "sqllex.h"
#include <sql_1ext.h>
class CEnum
{
public:
CEnum();
~CEnum();
void Init(
IWbemObjectSink FAR*,
CWbemServices*,
ParsedObjectPath*,
LPWSTR,
WMI_ASSOCIATION*,
SQL_LEVEL_1_RPN_EXPRESSION_EXT* pExp=NULL);
void Recurse(
LPCWSTR,
METABASE_KEYTYPE*,
LPCWSTR,
LPCWSTR,
METABASE_KEYTYPE*);
private:
bool ContinueRecurse(METABASE_KEYTYPE*, METABASE_KEYTYPE*);
void SetObjectPath(LPCWSTR, LPCWSTR, IWbemClassObject*);
void DoPing(LPCWSTR, LPCWSTR, LPCWSTR);
void PingAssociation(LPCWSTR);
void PingObject();
void DoPingAdminACL(METABASE_KEYTYPE*, LPCWSTR, LPCWSTR);
void PingAssociationAdminACL(LPCWSTR);
void EnumACE(LPCWSTR);
void DoPingIPSecurity(METABASE_KEYTYPE*, LPCWSTR, LPCWSTR);
void PingAssociationIPSecurity(LPCWSTR);
CMetabase m_metabase;
CWbemObjectSink* m_pInstMgr;
CWbemServices* m_pNamespace;
WMI_ASSOCIATION* m_pAssociation;
ParsedObjectPath* m_pParsedObject;
METADATA_HANDLE m_hKey;
SQL_LEVEL_1_RPN_EXPRESSION_EXT* m_pExp;
};
#endif