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.
 
 
 
 
 
 

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