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.
|
|
/**********************************************************************/ /** Microsoft Windows/NT **/ /** Copyright(c) Microsoft Corporation, 1997 - 1999 **/ /**********************************************************************/
/*
cprogdlg.h progress dialog for checking version consistency FILE HISTORY: */
#if !defined _CPROGDLG_H
#define _CPROGDLG_H
#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
#ifndef _ACTREG_H
#include "actreg.h"
#endif
#ifndef _VERIFY_H
#include "verify.h"
#endif
#ifndef _CONFIG_H
#include "config.h"
#endif
#include "dialog.h"
#define MAX_WINS 1000
#define INIT_SIZE 100
#define VERSION_NT_50 5
#define VERSION_NT_40 4
#define VERSION_NT_351 3
typedef CArray<u_long, u_long> CULongArray;
class CCheckNamesProgress; class CCheckVersionProgress; class CDBCompactProgress;
/*---------------------------------------------------------------------------
Class: CWinsThread ---------------------------------------------------------------------------*/ class CWinsThread : public CWinThread { public: CWinsThread(); ~CWinsThread();
public: BOOL Start(); void Abort(BOOL fAutoDelete = TRUE); void AbortAndWait(); BOOL FCheckForAbort(); BOOL IsRunning(); virtual BOOL InitInstance() { return TRUE; } // MFC override
virtual int Run() { return 1; }
private: HANDLE m_hEventHandle; };
/*---------------------------------------------------------------------------
Class: CCheckNamesThread ---------------------------------------------------------------------------*/ class CCheckNamesThread : public CWinsThread { public: CCheckNamesThread() { m_bAutoDelete = FALSE; } virtual int Run();
void AddStatusMessage(LPCTSTR pszMessage); void DisplayInfo(int uNames, u_long ulValidAddr);
public: CCheckNamesProgress * m_pDlg;
CWinsNameArray m_strNameArray; WinsServersArray m_winsServersArray; CStringArray m_strSummaryArray; CULongArray m_verifiedAddressArray; };
/*---------------------------------------------------------------------------
Class: CCheckVersionThread ---------------------------------------------------------------------------*/ class CCheckVersionThread : public CWinsThread { public: CCheckVersionThread() { m_bAutoDelete = FALSE; m_uLATableDim = 0; m_pLISOTable = NULL; m_uLISOTableDim = 0; }
virtual int Run();
void AddStatusMessage(LPCTSTR pszMessage);
//helpers
protected: DWORD InitLATable(PWINSINTF_ADD_VERS_MAP_T pAddVersMaps, DWORD NoOfOwners); DWORD AddSOTableEntry(CString & strIP, PWINSINTF_ADD_VERS_MAP_T pMasterMaps, DWORD NoOfOwners); LONG IPToIndex(CString & strIP); BOOL CheckSOTableConsistency(); void RemoveFromSOTable(CString & strIP);
ULARGE_INTEGER& SOCell(UINT i, UINT j);
public: CCheckVersionProgress * m_pDlg; handle_t m_hBinding; DWORD m_dwIpAddress;
CStringArray m_strLATable; UINT m_uLATableDim; ULARGE_INTEGER *m_pLISOTable; UINT m_uLISOTableDim; };
/*---------------------------------------------------------------------------
Class: CDBCompactThread ---------------------------------------------------------------------------*/ class CDBCompactThread : public CWinsThread { public: CDBCompactThread() { m_bAutoDelete = FALSE; m_hHeapHandle = NULL; }
~CDBCompactThread() { if (m_hHeapHandle) { HeapDestroy(m_hHeapHandle); m_hHeapHandle = NULL; } }
virtual int Run();
void AddStatusMessage(LPCTSTR pszMessage);
protected: void DisConnectFromWinsServer(); DWORD ConnectToWinsServer(); DWORD_PTR RunApp(LPCTSTR input, LPCTSTR startingDirectory, LPSTR * output);
public: CDBCompactProgress * m_pDlg;
CConfiguration * m_pConfig; handle_t m_hBinding; DWORD m_dwIpAddress; CString m_strServerName;
// for the output of RunApp
HANDLE m_hHeapHandle; };
/////////////////////////////////////////////////////////////////////////////
// CProgress dialog
class CProgress : public CBaseDialog { // Construction
public: CProgress(CWnd* pParent = NULL); // standard constructor
void AddStatusMessage(LPCTSTR pszMessage) { m_editMessage.SetFocus();
int nLength = m_editMessage.GetWindowTextLength(); m_editMessage.SetSel(nLength, nLength, TRUE);
m_editMessage.ReplaceSel(pszMessage); }
// Dialog Data
//{{AFX_DATA(CProgress)
enum { IDD = IDD_VERSION_CONSIS }; CButton m_buttonCancel; CEdit m_editMessage; //}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CProgress)
protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CProgress)
virtual void OnCancel(); virtual BOOL OnInitDialog(); //}}AFX_MSG
DECLARE_MESSAGE_MAP()
public: virtual DWORD * GetHelpMap() { return WinsGetHelpMap(CProgress::IDD);};
};
/*---------------------------------------------------------------------------
Class: CCheckNamesProgress ---------------------------------------------------------------------------*/ class CCheckNamesProgress : public CProgress { public: CCheckNamesProgress() { m_fVerifyWithPartners = FALSE; }
void NotifyCompleted(); void BuildServerList();
protected: virtual BOOL OnInitDialog(); virtual void OnCancel(); void AddServerToList(u_long ip);
public: CWinsNameArray m_strNameArray; CStringArray m_strServerArray; WinsServersArray m_winsServersArray;
BOOL m_fVerifyWithPartners;
protected: CCheckNamesThread m_Thread; };
/*---------------------------------------------------------------------------
Class: CCheckVersionProgress ---------------------------------------------------------------------------*/ class CCheckVersionProgress : public CProgress { public: void NotifyCompleted();
protected: virtual BOOL OnInitDialog(); virtual void OnCancel();
public: handle_t m_hBinding; DWORD m_dwIpAddress;
protected: CCheckVersionThread m_Thread; };
/*---------------------------------------------------------------------------
Class: CDBCompactProgress ---------------------------------------------------------------------------*/ class CDBCompactProgress : public CProgress { public: void NotifyCompleted();
protected: virtual BOOL OnInitDialog(); virtual void OnCancel();
public: CConfiguration * m_pConfig; handle_t m_hBinding; DWORD m_dwIpAddress; CString m_strServerName;
protected: CDBCompactThread m_Thread; };
//{{AFX_INSERT_LOCATION}}
// Microsoft Developer Studio will insert additional declarations immediately before the previous line.
#endif // !defined _CPROGDLG_H
|