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.
94 lines
2.2 KiB
94 lines
2.2 KiB
/*++
|
|
|
|
Copyright (c) 2000-2001 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
AssocBase.h
|
|
|
|
Abstract:
|
|
|
|
Definition of:
|
|
CAssocBase
|
|
|
|
Author:
|
|
|
|
Mohit Srivastava 22-Mar-2001
|
|
|
|
Revision History:
|
|
|
|
--*/
|
|
|
|
#ifndef _assocbase_h_
|
|
#define _assocbase_h_
|
|
|
|
#include <windows.h>
|
|
#include <ole2.h>
|
|
#include <stdio.h>
|
|
|
|
#include <genlex.h>
|
|
#include "sqllex.h"
|
|
#include <sql_1ext.h>
|
|
#include <opathlex.h>
|
|
#include <objpath.h>
|
|
|
|
#include <wbemprov.h>
|
|
|
|
#include "WbemServices.h"
|
|
#include "WbemObjectSink.h"
|
|
#include "schema.h"
|
|
|
|
class CAssocBase
|
|
{
|
|
public:
|
|
CAssocBase(
|
|
CWbemServices* i_pNamespace,
|
|
IWbemObjectSink* i_pResponseHandler,
|
|
WMI_ASSOCIATION* i_pWmiAssoc);
|
|
|
|
virtual void GetInstances(
|
|
SQL_LEVEL_1_RPN_EXPRESSION_EXT* i_pExp = NULL) = 0;
|
|
|
|
protected:
|
|
void GetAllInstances(
|
|
WMI_ASSOCIATION* i_pWmiAssoc);
|
|
|
|
void ProcessQuery(
|
|
SQL_LEVEL_1_RPN_EXPRESSION_EXT* i_pExp,
|
|
WMI_ASSOCIATION* i_pWmiAssoc,
|
|
SQL_LEVEL_1_TOKEN** o_ppTokenLeft,
|
|
SQL_LEVEL_1_TOKEN** o_ppTokenRight,
|
|
bool* o_pbDoQuery);
|
|
|
|
void Indicate(
|
|
BSTR i_bstrObjPathLeft,
|
|
BSTR i_bstrObjPathRight,
|
|
bool i_bVerifyLeft = true,
|
|
bool i_bVerifyRight = true);
|
|
|
|
void Indicate(
|
|
const BSTR i_bstrLeftObjPath,
|
|
ParsedObjectPath* i_pParsedRightObjPath,
|
|
bool i_bVerifyLeft = true,
|
|
bool i_bVerifyRight = true);
|
|
|
|
void Indicate(
|
|
ParsedObjectPath* i_pParsedLeftObjPath,
|
|
const BSTR i_bstrRightObjPath,
|
|
bool i_bVerifyLeft = true,
|
|
bool i_bVerifyRight = true);
|
|
|
|
bool LookupKeytypeInMb(
|
|
LPCWSTR i_wszWmiPath,
|
|
WMI_CLASS* i_pWmiClass);
|
|
|
|
CWbemServices* m_pNamespace;
|
|
CWbemObjectSink m_InstanceMgr;
|
|
WMI_ASSOCIATION* m_pWmiAssoc;
|
|
CObjectPathParser m_PathParser;
|
|
|
|
private:
|
|
IWbemObjectSink* m_pResponseHandler;
|
|
};
|
|
|
|
#endif // _assocbase_h_
|