/*++ Copyright (c) 1990 Microsoft Corporation Module Name: winperf.h Abstract: This module contains the definit Author: Mark Lucovsky (markl) 28-Mar-1991 Revision History: --*/ #ifndef _WINPERFH_INCLUDED_ #define _WINPERFH_INCLUDED_ #define DIALOG_SUCCESS 100 #define DIALOG_CANCEL 0 #define IDM_EXIT 1100 #define IDM_SELECT 1101 #define IDM_THUNK 1102 #define IDM_ALL 1103 #define IDM_HACK 1104 #define TIMER_ID 1001 #define IDM_SEL_DLG 1004 #define IDM_THUNK_DLG 1005 #define IDM_CALC_DLG 1006 #define IDM_DISPLAY_TOTAL 1106 #define IDM_DISPLAY_BREAKDOWN 1107 #define IDM_DISPLAY_PER_PROCESSOR 1108 #define IDM_TOPMOST 1109 #define IDM_ACCEPT 1200 #define IDM_P5_GEN1 1206 #define IDM_P5_R0_0 1207 #define IDM_P5_R3_0 1208 #define IDM_P5_K_0 1209 #define IDM_P5_GEN2 1210 #define IDM_P5_R0_1 1211 #define IDM_P5_R3_1 1212 #define IDM_P5_K_1 1213 #define IDM_PERCENT 1214 #define IDM_SPIN_ACQUIRE 1250 #define IDM_SPIN_COLL 1251 #define IDM_SPIN_SPIN 1252 #define IDM_IRQL 1253 #define IDM_INT 1254 #define IDM_LOGIT 1260 #define IDM_SCALE 1261 #define IDM_THUNK_LIST 1301 #define IDM_THUNK_SOURCE 1302 #define IDM_THUNK_IMPORT 1303 #define IDM_THUNK_FUNCTION 1304 #define IDM_THUNK_ADD 1305 #define IDM_THUNK_REMOVE 1306 #define IDM_THUNK_CLEAR_ALL 1307 #define IDM_CALC_TEXTA 1350 #define IDM_CALC_TEXTB 1351 #define IDM_CALC_FORM1 1352 #define IDM_CALC_FORM2 1353 #define IDM_CALC_FORM3 1354 #define IDM_CALC_FORM4 1355 #define WINPERF_ICON 1011 #define CPUTHERM_ICON 1012 #define BALL_BITMAP 1011 #include "calcperf.h" typedef struct _WINPERF_INFO { DWORD WindowPositionX; DWORD WindowPositionY; DWORD WindowSizeX; DWORD WindowSizeY; DWORD DisplayMode; HPEN hBluePen; // total pen HPEN hPPen[MAX_PROCESSORS]; HPEN hDotPen; HBRUSH hBackground; HBRUSH hRedBrush; HBRUSH hGreenBrush; HBRUSH hBlueBrush; HBRUSH hLightBrush; HBRUSH hDarkBrush; HFONT LargeFont; HFONT MediumFont; HFONT SmallFont; HFONT hOldFont; HMENU hMenu; HWND hWndMain; UINT TimerId; UINT NumberOfProcessors; BOOL DisplayMenu; } WINPERF_INFO,*PWINPERF_INFO; BOOL InitApplication( HANDLE hInstance, HBRUSH hBackground ); BOOL InitInstance( HANDLE hInstance, int nCmdShow ); LONG APIENTRY MainWndProc( HWND hWnd, UINT message, DWORD DWORD, LONG lParam ); LONG APIENTRY CpuWndProc( HWND hWnd, UINT message, DWORD DWORD, LONG lParam ); BOOL APIENTRY About( HWND hDlg, unsigned message, WORD DWORD, LONG lParam ); BOOL APIENTRY MGetWindowExt(HDC hdc, INT * pcx, INT * pcy); BOOL APIENTRY MGetCurrentPosition(HDC hdc, INT * px, INT * py); HANDLE APIENTRY MGetInstHandle(VOID); LPSTR MGetCmdLine(VOID); VOID UpdateCpuMeter( IN HDC hDC, IN SHORT cxClient, IN SHORT cyClient ); VOID DrawCpuMeter( IN HDC hDC, IN SHORT cxClient, IN SHORT cyClient, IN ULONG DisplayItem ); VOID ReScalePerfWindow( IN HDC hDC, IN PDISPLAY_ITEM DisplayItem ); BOOL CalcCpuTime( PDISPLAY_ITEM PerfListItem ); ULONG InitPerfInfo(VOID); VOID InitProfileData(PWINPERF_INFO pWinperfInfo); VOID DrawPerfWindow( IN HDC hDC, IN PDISPLAY_ITEM DisplayItem ); VOID UpdatePerfWindow( IN HDC hDC, IN PDISPLAY_ITEM DisplayItem ); // // change style constants // #define STYLE_ENABLE_MENU WS_OVERLAPPEDWINDOW #define STYLE_DISABLE_MENU (WS_THICKFRAME+WS_BORDER) LONG APIENTRY DbgWndProc( HWND hWnd, UINT message, DWORD wParam, LONG lParam ); BOOL APIENTRY ThunkDlgProc( HWND hDlg, unsigned message, DWORD wParam, LONG lParam ); BOOL APIENTRY CalcDlgProc( HWND hDlg, unsigned message, DWORD wParam, LONG lParam ); BOOLEAN FitPerfWindows( IN HWND hWnd, IN HDC hDC, IN PDISPLAY_ITEM DisplayItems ); VOID RefitWindows ( IN HWND hWnd, IN HDC CurhDC ); BOOLEAN InitPerfWindowDisplay( IN HWND hWnd, IN HDC hDC, IN PDISPLAY_ITEM DisplayItems, IN ULONG NumberOfWindows ); BOOL APIENTRY SelectDlgProc( HWND hDlg, unsigned message, DWORD wParam, LONG lParam ); VOID DrawFrame( HDC hDC, PDISPLAY_ITEM DisplayItem ); BOOL CalcPerf( PDISPLAY_ITEM pPerf1 ); VOID CalcDrawFrame( PDISPLAY_ITEM DisplayItem ); VOID DrawPerfText( HDC hDC, PDISPLAY_ITEM DisplayItem ); VOID DrawPerfGraph( HDC hDC, PDISPLAY_ITEM DisplayItem ); BOOLEAN CreateMemoryContext( HDC hDC, PDISPLAY_ITEM DisplayItem ); VOID DeleteMemoryContext( PDISPLAY_ITEM DisplayItem ); VOID ShiftPerfGraph( HDC hDC, PDISPLAY_ITEM DisplayItem ); PDISPLAY_ITEM AllocateDisplayItem(VOID); VOID SetDefaultDisplayMode ( IN HWND hWnd, IN ULONG mode ); VOID DoCSTest( IN HWND hWnd ); VOID FreeDisplayItem( PDISPLAY_ITEM pPerf ); VOID SetP5Perf ( HWND hDlg, ULONG IdCombo, ULONG p5counter ); VOID ClearGraph ( PDISPLAY_ITEM pPerf ); VOID SetP5CounterEncodings ( PVOID encoding ); VOID SetDisplayToTrue ( PDISPLAY_ITEM pPerf, ULONG sort ); PDISPLAY_ITEM SetDisplayToFalse ( PDISPLAY_ITEM pPerf ); #endif /* _WINPERFH_INCLUDED_ */