windows-nt/Source/XPSP1/NT/sdktools/wperf/wperf.h
2020-09-26 16:20:57 +08:00

333 lines
5.6 KiB
C

/*++
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_ALL 1103
#define TIMER_ID 1001
#define IDM_CPU_GRP 1002
#define IDM_PERF_GRP 1003
#define IDM_SEL_DLG 1004
#define IDM_STYLE_GRP 1005
#define IDM_CPU0 101
#define IDM_CPU1 102
#define IDM_CPU2 103
#define IDM_CPU3 104
#define IDM_CPU4 105
#define IDM_CPU5 106
#define IDM_CPU6 107
#define IDM_CPU7 108
#define IDM_CPU8 109
#define IDM_CPU9 110
#define IDM_CPU10 111
#define IDM_CPU11 112
#define IDM_CPU12 113
#define IDM_CPU13 114
#define IDM_CPU14 115
#define IDM_CPU15 116
#define IDM_PGFLT 117
#define IDM_PGAV 118
#define IDM_CONTEXT 119
#define IDM_1TB 120
#define IDM_2TB 121
#define IDM_SYSCALL 122
#define IDM_INT 123
#define IDM_POOL 124
#define IDM_NONPOOL 125
#define IDM_PROCESS 126
#define IDM_THREAD 127
#define IDM_ALIGN 128
#define IDM_EXCEPT 129
#define IDM_FLOAT 130
#define IDM_INS_EMUL 131
#define IDM_CPU_TOTAL 132
#define IDM_SEL_LINE 133
#define IDM_SEL_BAR 134
#define WINPERF_ICON 1011
#define CPUTHERM_ICON 1012
#define BALL_BITMAP 1011
#define CPU_STYLE_LINE 0
#define CPU_STYLE_BAR 1
#include "calcperf.h"
typedef struct _WINPERF_INFO
{
DWORD WindowPositionX;
DWORD WindowPositionY;
DWORD WindowSizeX;
DWORD WindowSizeY;
DWORD DisplayElement[SAVE_SUBJECTS];
DWORD DisplayMode;
DWORD CpuStyle;
HPEN hBluePen;
HPEN hRedPen;
HPEN hGreenPen;
HPEN hMagentaPen;
HPEN hYellowPen;
HPEN hDotPen;
HBRUSH hBackground;
HBRUSH hRedBrush;
HBRUSH hGreenBrush;
HBRUSH hBlueBrush;
HBRUSH hMagentaBrush;
HBRUSH hYellowBrush;
HBRUSH hLightBrush;
HBRUSH hDarkBrush;
HFONT LargeFont;
HFONT MediumFont;
HFONT SmallFont;
HFONT hOldFont;
HMENU hMenu;
HWND hWndMain;
UINT_PTR TimerId;
UINT NumberOfProcessors;
BOOL DisplayMenu;
} WINPERF_INFO,*PWINPERF_INFO;
BOOL
InitApplication(
HANDLE hInstance,
HBRUSH hBackground
);
BOOL
InitInstance(
HANDLE hInstance,
int nCmdShow
);
LRESULT APIENTRY
MainWndProc(
HWND hWnd,
UINT message,
WPARAM wParam,
LPARAM lParam
);
LRESULT APIENTRY
CpuWndProc(
HWND hWnd,
UINT message,
WPARAM wParam,
LPARAM lParam
);
BOOL
APIENTRY About(
HWND hDlg,
UINT message,
WPARAM wParam,
LPARAM lParam
);
BOOL APIENTRY MoveToEx(IN HDC, IN int, IN int, OUT LPPOINT);
BOOL APIENTRY SetViewportExtEx(IN HDC, IN int, IN int, OUT LPSIZE);
BOOL APIENTRY SetViewportOrgEx(IN HDC, IN int, IN int, OUT LPPOINT);
BOOL APIENTRY SetWindowExtEx(IN HDC, IN int, IN int, OUT LPSIZE);
BOOL APIENTRY SetWindowOrgEx(IN HDC, IN int, IN int, OUT LPPOINT);
BOOL APIENTRY GetWindowExtEx(IN HDC, OUT LPSIZE);
BOOL APIENTRY GetCurrentPositionEx(IN HDC, OUT LPPOINT);
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
SaveProfileData(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)
LRESULT APIENTRY
DbgWndProc(
HWND hWnd,
UINT message,
WPARAM wParam,
LPARAM lParam
);
BOOLEAN
FitPerfWindows(
IN HWND hWnd,
IN HDC hDC,
IN PDISPLAY_ITEM DisplayItems,
IN ULONG NumberOfWindows
);
BOOLEAN
InitPerfWindowDisplay(
IN HWND hWnd,
IN HDC hDC,
IN PDISPLAY_ITEM DisplayItems,
IN ULONG NumberOfWindows
);
INT_PTR
APIENTRY SelectDlgProc(
HWND hDlg,
UINT message,
WPARAM wParam,
LPARAM lParam
);
VOID
DrawFrame(
HDC hDC,
PDISPLAY_ITEM DisplayItem
);
VOID
CalcDrawFrame(
PDISPLAY_ITEM DisplayItem
);
VOID
DrawPerfText(
HDC hDC,
PDISPLAY_ITEM DisplayItem,
UINT Item
);
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
);
VOID
DrawCpuBarGraph(
HDC hDC,
PDISPLAY_ITEM DisplayItem,
UINT Item
);
#endif /* _WINPERFH_INCLUDED_ */