|
|
/******************************************************************************
P V I E W D A T A
Name: pviewdat.h
Description: Prototypes of functions used in pviewdat.c
******************************************************************************/
//******************************************************************************
//
// Titles and indexes.
//
// See GetPerfTitleSz() in perfdata.c on how to retrieve these data.
//
// This is not complete, for complete listing
// see under hkey_local_system
// \software
// \microsoft
// \windows nt
// \currentversion
// \perflib
// \###
//
#define PN_PROCESS TEXT("Process")
#define PN_PROCESS_CPU TEXT("% Processor Time")
#define PN_PROCESS_PRIV TEXT("% Privileged Time")
#define PN_PROCESS_USER TEXT("% User Time")
#define PN_PROCESS_WORKING_SET TEXT("Working Set")
#define PN_PROCESS_PEAK_WS TEXT("Working Set Peak")
#define PN_PROCESS_PRIO TEXT("Priority Base")
#define PN_PROCESS_ELAPSE TEXT("Elapsed Time")
#define PN_PROCESS_ID TEXT("ID Process")
#define PN_PROCESS_PRIVATE_PAGE TEXT("Private Bytes")
#define PN_PROCESS_VIRTUAL_SIZE TEXT("Virtual Bytes")
#define PN_PROCESS_PEAK_VS TEXT("Virtual Bytes Peak")
#define PN_PROCESS_FAULT_COUNT TEXT("Page Faults/sec")
#define PN_THREAD TEXT("Thread")
#define PN_THREAD_CPU TEXT("% Processor Time")
#define PN_THREAD_PRIV TEXT("% Privileged Time")
#define PN_THREAD_USER TEXT("% User Time")
#define PN_THREAD_START TEXT("Start Address")
#define PN_THREAD_SWITCHES TEXT("Context Switches/sec")
#define PN_THREAD_PRIO TEXT("Priority Current")
#define PN_THREAD_BASE_PRIO TEXT("Priority Base")
#define PN_THREAD_ELAPSE TEXT("Elapsed Time")
#define PN_THREAD_DETAILS TEXT("Thread Details")
#define PN_THREAD_PC TEXT("User PC")
#define PN_IMAGE TEXT("Image")
#define PN_IMAGE_NOACCESS TEXT("No Access")
#define PN_IMAGE_READONLY TEXT("Read Only")
#define PN_IMAGE_READWRITE TEXT("Read/Write")
#define PN_IMAGE_WRITECOPY TEXT("Write Copy")
#define PN_IMAGE_EXECUTABLE TEXT("Executable")
#define PN_IMAGE_EXE_READONLY TEXT("Exec Read Only")
#define PN_IMAGE_EXE_READWRITE TEXT("Exec Read/Write")
#define PN_IMAGE_EXE_WRITECOPY TEXT("Exec Write Copy")
#define PN_PROCESS_ADDRESS_SPACE TEXT("Process Address Space")
#define PN_PROCESS_PRIVATE_NOACCESS TEXT("Reserved Space No Access")
#define PN_PROCESS_PRIVATE_READONLY TEXT("Reserved Space Read Only")
#define PN_PROCESS_PRIVATE_READWRITE TEXT("Reserved Space Read/Write")
#define PN_PROCESS_PRIVATE_WRITECOPY TEXT("Reserved Space Write Copy")
#define PN_PROCESS_PRIVATE_EXECUTABLE TEXT("Reserved Space Executable")
#define PN_PROCESS_PRIVATE_EXE_READONLY TEXT("Reserved Space Exec Read Only")
#define PN_PROCESS_PRIVATE_EXE_READWRITE TEXT("Reserved Space Exec Read/Write")
#define PN_PROCESS_PRIVATE_EXE_WRITECOPY TEXT("Reserved Space Exec Write Copy")
#define PN_PROCESS_MAPPED_NOACCESS TEXT("Mapped Space No Access")
#define PN_PROCESS_MAPPED_READONLY TEXT("Mapped Space Read Only")
#define PN_PROCESS_MAPPED_READWRITE TEXT("Mapped Space Read/Write")
#define PN_PROCESS_MAPPED_WRITECOPY TEXT("Mapped Space Write Copy")
#define PN_PROCESS_MAPPED_EXECUTABLE TEXT("Mapped Space Executable")
#define PN_PROCESS_MAPPED_EXE_READONLY TEXT("Mapped Space Exec Read Only")
#define PN_PROCESS_MAPPED_EXE_READWRITE TEXT("Mapped Space Exec Read/Write")
#define PN_PROCESS_MAPPED_EXE_WRITECOPY TEXT("Mapped Space Exec Write Copy")
#define PN_PROCESS_IMAGE_NOACCESS TEXT("Image Space No Access")
#define PN_PROCESS_IMAGE_READONLY TEXT("Image Space Read Only")
#define PN_PROCESS_IMAGE_READWRITE TEXT("Image Space Read/Write")
#define PN_PROCESS_IMAGE_WRITECOPY TEXT("Image Space Write Copy")
#define PN_PROCESS_IMAGE_EXECUTABLE TEXT("Image Space Executable")
#define PN_PROCESS_IMAGE_EXE_READONLY TEXT("Image Space Exec Read Only")
#define PN_PROCESS_IMAGE_EXE_READWRITE TEXT("Image Space Exec Read/Write")
#define PN_PROCESS_IMAGE_EXE_WRITECOPY TEXT("Image Space Exec Write Copy")
DWORD PX_PROCESS; DWORD PX_PROCESS_CPU; DWORD PX_PROCESS_PRIV; DWORD PX_PROCESS_USER; DWORD PX_PROCESS_WORKING_SET; DWORD PX_PROCESS_PEAK_WS; DWORD PX_PROCESS_PRIO; DWORD PX_PROCESS_ELAPSE; DWORD PX_PROCESS_ID; DWORD PX_PROCESS_PRIVATE_PAGE; DWORD PX_PROCESS_VIRTUAL_SIZE; DWORD PX_PROCESS_PEAK_VS; DWORD PX_PROCESS_FAULT_COUNT; DWORD PX_PROCESS_PAGED_POOL_QUOTA; DWORD PX_PROCESS_PEAK_PAGED_POOL_QUOTA; DWORD PX_PROCESS_NONPAGED_POOL_QUOTA; DWORD PX_PROCESS_PEAK_PAGED_POOL; DWORD PX_PROCESS_PEAK_NONPAGED_POOL; DWORD PX_PROCESS_CUR_PAGED_POOL; DWORD PX_PROCESS_CUR_NONPAGED_POOL; DWORD PX_PROCESS_PAGED_POOL_LIMIT; DWORD PX_PROCESS_NONPAGED_POOL_LIMIT;
DWORD PX_THREAD; DWORD PX_THREAD_CPU; DWORD PX_THREAD_PRIV; DWORD PX_THREAD_USER; DWORD PX_THREAD_START; DWORD PX_THREAD_SWITCHES; DWORD PX_THREAD_PRIO; DWORD PX_THREAD_BASE_PRIO; DWORD PX_THREAD_ELAPSE;
DWORD PX_THREAD_DETAILS; DWORD PX_THREAD_PC;
DWORD PX_IMAGE; DWORD PX_IMAGE_NOACCESS; DWORD PX_IMAGE_READONLY; DWORD PX_IMAGE_READWRITE; DWORD PX_IMAGE_WRITECOPY; DWORD PX_IMAGE_EXECUTABLE; DWORD PX_IMAGE_EXE_READONLY; DWORD PX_IMAGE_EXE_READWRITE; DWORD PX_IMAGE_EXE_WRITECOPY;
DWORD PX_PROCESS_ADDRESS_SPACE; DWORD PX_PROCESS_PRIVATE_NOACCESS; DWORD PX_PROCESS_PRIVATE_READONLY; DWORD PX_PROCESS_PRIVATE_READWRITE; DWORD PX_PROCESS_PRIVATE_WRITECOPY; DWORD PX_PROCESS_PRIVATE_EXECUTABLE; DWORD PX_PROCESS_PRIVATE_EXE_READONLY; DWORD PX_PROCESS_PRIVATE_EXE_READWRITE; DWORD PX_PROCESS_PRIVATE_EXE_WRITECOPY;
DWORD PX_PROCESS_MAPPED_NOACCESS; DWORD PX_PROCESS_MAPPED_READONLY; DWORD PX_PROCESS_MAPPED_READWRITE; DWORD PX_PROCESS_MAPPED_WRITECOPY; DWORD PX_PROCESS_MAPPED_EXECUTABLE; DWORD PX_PROCESS_MAPPED_EXE_READONLY; DWORD PX_PROCESS_MAPPED_EXE_READWRITE; DWORD PX_PROCESS_MAPPED_EXE_WRITECOPY;
DWORD PX_PROCESS_IMAGE_NOACCESS; DWORD PX_PROCESS_IMAGE_READONLY; DWORD PX_PROCESS_IMAGE_READWRITE; DWORD PX_PROCESS_IMAGE_WRITECOPY; DWORD PX_PROCESS_IMAGE_EXECUTABLE; DWORD PX_PROCESS_IMAGE_EXE_READONLY; DWORD PX_PROCESS_IMAGE_EXE_READWRITE; DWORD PX_PROCESS_IMAGE_EXE_WRITECOPY;
#define Li2Double(x) ((double)((x).HighPart) * 4.294967296E9 + (double)((x).LowPart))
typedef struct _TIME_FIELD TIME_FIELD, *PTIME_FIELD;
struct _TIME_FIELD { INT Hours; INT Mins; INT Secs; INT mSecs; };
void RefreshPviewDlgThreadPC (HWND hPviewDlg, LPTSTR szProcessName, LPTSTR szThreadName, PPERF_OBJECT pThreadDetailsObject, PPERF_DATA pCostlyData);
BOOL RefreshMemoryDlg (HWND hMemDlg, PPERF_INSTANCE pProcessInstance, PPERF_OBJECT pProcessObject, PPERF_OBJECT pAddressObject, PPERF_OBJECT pImageObject);
void RefreshMemoryDlgImage (HWND hMemDlg, DWORD dwIndex, PPERF_OBJECT pImageObject);
void RefreshPviewDlgMemoryData (HWND hPviewDlg, PPERF_INSTANCE pProcessInstance, PPERF_OBJECT pProcessObject, PPERF_OBJECT pAddressObject);
PPERF_DATA RefreshPerfData (HKEY hPerfKey, LPTSTR szObjectIndex, PPERF_DATA pData, DWORD *pDataSize);
void RefreshProcessList (HWND hProcessList, PPERF_OBJECT pObject);
void RefreshProcessData (HWND hWnd, PPERF_OBJECT pObject, DWORD ProcessIndex);
void RefreshThreadList (HWND hThreadList, PPERF_OBJECT pObject, DWORD ParentIndex);
void RefreshThreadData (HWND hWnd, PPERF_OBJECT pThreadObj, DWORD ThreadIndex, PPERF_OBJECT pProcessObj, PPERF_INSTANCE pProcessInst);
WORD ProcessPriority (PPERF_OBJECT pObject, PPERF_INSTANCE pInstance);
|