windows-nt/Source/XPSP1/NT/base/tools/pperf/app/pperf.h
2020-09-26 16:20:57 +08:00

386 lines
6 KiB
C
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*++
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_ */