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.
119 lines
3.5 KiB
119 lines
3.5 KiB
#ifndef __RSOP_WIZARD_H__
|
|
#define __RSOP_WIZARD_H__
|
|
//+--------------------------------------------------------------------------
|
|
//
|
|
// Microsoft Windows
|
|
// Copyright (C) Microsoft Corporation, 1994 - 2001.
|
|
//
|
|
// File: RSOPWizard.h
|
|
//
|
|
// Contents: Definitions for the RSOP Wizard classes
|
|
//
|
|
// Classes: CRSOPWizard
|
|
//
|
|
// Functions:
|
|
//
|
|
// History: 08-02-2001 rhynierm Created
|
|
//
|
|
//---------------------------------------------------------------------------
|
|
|
|
#include "RSOPQuery.h"
|
|
|
|
#define RSOP_NEW_QUERY 0x80000000
|
|
#define RSOP_90P_ONLY 0x40000000
|
|
|
|
//
|
|
// CRSOPExtendedProcessing
|
|
//
|
|
class CRSOPExtendedProcessing
|
|
{
|
|
public:
|
|
virtual HRESULT DoProcessing( LPRSOP_QUERY pQuery, LPRSOP_QUERY_RESULTS pResults, BOOL bGetExtendedErrorInfo ) = 0;
|
|
virtual BOOL GetExtendedErrorInfo() const = 0;
|
|
};
|
|
|
|
//
|
|
// CRSOPWizard class
|
|
//
|
|
|
|
class CRSOPWizard
|
|
{
|
|
friend class CRSOPComponentData;
|
|
friend class CRSOPWizardDlg;
|
|
|
|
|
|
private:
|
|
//
|
|
// Constructors/destructor
|
|
//
|
|
|
|
CRSOPWizard();
|
|
~CRSOPWizard();
|
|
|
|
|
|
public:
|
|
//
|
|
// Static RSOP data generation/manipulation
|
|
//
|
|
|
|
static HRESULT DeleteRSOPData( LPTSTR szNameSpace, LPRSOP_QUERY pQuery );
|
|
static HRESULT GenerateRSOPDataEx( HWND hDlg, LPRSOP_QUERY pQuery, LPRSOP_QUERY_RESULTS* ppResults );
|
|
static HRESULT GenerateRSOPData( HWND hDlg,
|
|
LPRSOP_QUERY pQuery,
|
|
LPTSTR* pszNameSpace,
|
|
BOOL bSkipCSEs,
|
|
BOOL bLimitData,
|
|
BOOL bUser,
|
|
BOOL bForceCreate,
|
|
ULONG *pulErrorInfo,
|
|
BOOL bNoUserData = FALSE,
|
|
BOOL bNoComputerData = FALSE);
|
|
|
|
static HRESULT CreateSafeArray( DWORD dwCount, LPTSTR* aszStringList, SAFEARRAY** psaList );
|
|
|
|
private:
|
|
//
|
|
// RSOP generation dialog methods
|
|
//
|
|
static VOID InitializeResultsList (HWND hLV);
|
|
static void FillResultsList (HWND hLV, LPRSOP_QUERY pQuery, LPRSOP_QUERY_RESULTS pQueryResults);
|
|
|
|
};
|
|
|
|
|
|
//
|
|
// IWbemObjectSink implementation
|
|
//
|
|
|
|
class CCreateSessionSink : public IWbemObjectSink
|
|
{
|
|
protected:
|
|
ULONG m_cRef;
|
|
HWND m_hProgress;
|
|
HANDLE m_hEvent;
|
|
HRESULT m_hrSuccess;
|
|
BSTR m_pNameSpace;
|
|
ULONG m_ulErrorInfo;
|
|
BOOL m_bSendEvent;
|
|
BOOL m_bLimitProgress;
|
|
|
|
public:
|
|
CCreateSessionSink(HWND hProgress, HANDLE hEvent, BOOL bLimitProgress);
|
|
~CCreateSessionSink();
|
|
|
|
STDMETHODIMP SendQuitEvent (BOOL bSendQuitMessage);
|
|
STDMETHODIMP GetResult (HRESULT *hSuccess);
|
|
STDMETHODIMP GetNamespace (BSTR *pNamespace);
|
|
STDMETHODIMP GetErrorInfo (ULONG *pulErrorInfo);
|
|
|
|
// IUnknown methods
|
|
STDMETHODIMP QueryInterface(REFIID, LPVOID FAR *);
|
|
STDMETHODIMP_(ULONG) AddRef();
|
|
STDMETHODIMP_(ULONG) Release();
|
|
|
|
// IWbemObjectSink methods
|
|
STDMETHODIMP Indicate(LONG lObjectCount, IWbemClassObject **apObjArray);
|
|
STDMETHODIMP SetStatus(LONG lFlags, HRESULT hResult, BSTR strParam, IWbemClassObject *pObjParam);
|
|
};
|
|
|
|
#endif
|