|
|
1.1 ! root 1: ! 2: /******************************************************************************\ ! 3: * This is a part of the Microsoft Source Code Samples. ! 4: * Copyright (C) 1993 Microsoft Corporation. ! 5: * All rights reserved. ! 6: * This source code is only intended as a supplement to ! 7: * Microsoft Development Tools and/or WinHelp documentation. ! 8: * See these sources for detailed information regarding the ! 9: * Microsoft samples programs. ! 10: \******************************************************************************/ ! 11: ! 12: ! 13: /****************************************************************************** ! 14: ! 15: P V I E W D A T A ! 16: ! 17: Name: pviewdat.h ! 18: ! 19: Description: ! 20: Prototypes of functions used in pviewdat.c ! 21: ! 22: ******************************************************************************/ ! 23: ! 24: ! 25: ! 26: ! 27: ! 28: //****************************************************************************** ! 29: // ! 30: // Titles and indexes. ! 31: // ! 32: // See GetPerfTitleSz() in perfdata.c on how to retrieve these data. ! 33: // ! 34: // This is not complete, for complete listing ! 35: // see under hkey_local_system ! 36: // \software ! 37: // \microsoft ! 38: // \windows nt ! 39: // \currentversion ! 40: // \perflib ! 41: // \### ! 42: // ! 43: ! 44: #define PN_PROCESS TEXT("Process") ! 45: #define PN_PROCESS_CPU TEXT("% Processor Time") ! 46: #define PN_PROCESS_PRIV TEXT("% Privileged Time") ! 47: #define PN_PROCESS_USER TEXT("% User Time") ! 48: #define PN_PROCESS_WORKING_SET TEXT("Working Set") ! 49: #define PN_PROCESS_PEAK_WS TEXT("Working Set Peak") ! 50: #define PN_PROCESS_PRIO TEXT("Priority Base") ! 51: #define PN_PROCESS_ELAPSE TEXT("Elapsed Time") ! 52: #define PN_PROCESS_ID TEXT("ID Process") ! 53: #define PN_PROCESS_PRIVATE_PAGE TEXT("Private Bytes") ! 54: #define PN_PROCESS_VIRTUAL_SIZE TEXT("Virtual Bytes") ! 55: #define PN_PROCESS_PEAK_VS TEXT("Virtual Bytes Peak") ! 56: #define PN_PROCESS_FAULT_COUNT TEXT("Page Faults/sec") ! 57: ! 58: ! 59: #define PN_THREAD TEXT("Thread") ! 60: #define PN_THREAD_CPU TEXT("% Processor Time") ! 61: #define PN_THREAD_PRIV TEXT("% Privileged Time") ! 62: #define PN_THREAD_USER TEXT("% User Time") ! 63: #define PN_THREAD_START TEXT("Start Address") ! 64: #define PN_THREAD_SWITCHES TEXT("Context Switches/sec") ! 65: #define PN_THREAD_PRIO TEXT("Priority Current") ! 66: #define PN_THREAD_BASE_PRIO TEXT("Priority Base") ! 67: #define PN_THREAD_ELAPSE TEXT("Elapsed Time") ! 68: ! 69: #define PN_THREAD_DETAILS TEXT("Thread Details") ! 70: #define PN_THREAD_PC TEXT("User PC") ! 71: ! 72: #define PN_IMAGE TEXT("Image") ! 73: #define PN_IMAGE_NOACCESS TEXT("No Access") ! 74: #define PN_IMAGE_READONLY TEXT("Read Only") ! 75: #define PN_IMAGE_READWRITE TEXT("Read/Write") ! 76: #define PN_IMAGE_WRITECOPY TEXT("Write Copy") ! 77: #define PN_IMAGE_EXECUTABLE TEXT("Executable") ! 78: #define PN_IMAGE_EXE_READONLY TEXT("Exec Read Only") ! 79: #define PN_IMAGE_EXE_READWRITE TEXT("Exec Read/Write") ! 80: #define PN_IMAGE_EXE_WRITECOPY TEXT("Exec Write Copy") ! 81: ! 82: ! 83: #define PN_PROCESS_ADDRESS_SPACE TEXT("Process Address Space") ! 84: #define PN_PROCESS_PRIVATE_NOACCESS TEXT("Reserved Space No Access") ! 85: #define PN_PROCESS_PRIVATE_READONLY TEXT("Reserved Space Read Only") ! 86: #define PN_PROCESS_PRIVATE_READWRITE TEXT("Reserved Space Read/Write") ! 87: #define PN_PROCESS_PRIVATE_WRITECOPY TEXT("Reserved Space Write Copy") ! 88: #define PN_PROCESS_PRIVATE_EXECUTABLE TEXT("Reserved Space Executable") ! 89: #define PN_PROCESS_PRIVATE_EXE_READONLY TEXT("Reserved Space Exec Read Only") ! 90: #define PN_PROCESS_PRIVATE_EXE_READWRITE TEXT("Reserved Space Exec Read/Write") ! 91: #define PN_PROCESS_PRIVATE_EXE_WRITECOPY TEXT("Reserved Space Exec Write Copy") ! 92: ! 93: ! 94: #define PN_PROCESS_MAPPED_NOACCESS TEXT("Mapped Space No Access") ! 95: #define PN_PROCESS_MAPPED_READONLY TEXT("Mapped Space Read Only") ! 96: #define PN_PROCESS_MAPPED_READWRITE TEXT("Mapped Space Read/Write") ! 97: #define PN_PROCESS_MAPPED_WRITECOPY TEXT("Mapped Space Write Copy") ! 98: #define PN_PROCESS_MAPPED_EXECUTABLE TEXT("Mapped Space Executable") ! 99: #define PN_PROCESS_MAPPED_EXE_READONLY TEXT("Mapped Space Exec Read Only") ! 100: #define PN_PROCESS_MAPPED_EXE_READWRITE TEXT("Mapped Space Exec Read/Write") ! 101: #define PN_PROCESS_MAPPED_EXE_WRITECOPY TEXT("Mapped Space Exec Write Copy") ! 102: ! 103: ! 104: #define PN_PROCESS_IMAGE_NOACCESS TEXT("Image Space No Access") ! 105: #define PN_PROCESS_IMAGE_READONLY TEXT("Image Space Read Only") ! 106: #define PN_PROCESS_IMAGE_READWRITE TEXT("Image Space Read/Write") ! 107: #define PN_PROCESS_IMAGE_WRITECOPY TEXT("Image Space Write Copy") ! 108: #define PN_PROCESS_IMAGE_EXECUTABLE TEXT("Image Space Executable") ! 109: #define PN_PROCESS_IMAGE_EXE_READONLY TEXT("Image Space Exec Read Only") ! 110: #define PN_PROCESS_IMAGE_EXE_READWRITE TEXT("Image Space Exec Read/Write") ! 111: #define PN_PROCESS_IMAGE_EXE_WRITECOPY TEXT("Image Space Exec Write Copy") ! 112: ! 113: ! 114: ! 115: ! 116: ! 117: ! 118: ! 119: DWORD PX_PROCESS; ! 120: DWORD PX_PROCESS_CPU; ! 121: DWORD PX_PROCESS_PRIV; ! 122: DWORD PX_PROCESS_USER; ! 123: DWORD PX_PROCESS_WORKING_SET; ! 124: DWORD PX_PROCESS_PEAK_WS; ! 125: DWORD PX_PROCESS_PRIO; ! 126: DWORD PX_PROCESS_ELAPSE; ! 127: DWORD PX_PROCESS_ID; ! 128: DWORD PX_PROCESS_PRIVATE_PAGE; ! 129: DWORD PX_PROCESS_VIRTUAL_SIZE; ! 130: DWORD PX_PROCESS_PEAK_VS; ! 131: DWORD PX_PROCESS_FAULT_COUNT; ! 132: DWORD PX_PROCESS_PAGED_POOL_QUOTA; ! 133: DWORD PX_PROCESS_PEAK_PAGED_POOL_QUOTA; ! 134: DWORD PX_PROCESS_NONPAGED_POOL_QUOTA; ! 135: DWORD PX_PROCESS_PEAK_PAGED_POOL; ! 136: DWORD PX_PROCESS_PEAK_NONPAGED_POOL; ! 137: DWORD PX_PROCESS_CUR_PAGED_POOL; ! 138: DWORD PX_PROCESS_CUR_NONPAGED_POOL; ! 139: DWORD PX_PROCESS_PAGED_POOL_LIMIT; ! 140: DWORD PX_PROCESS_NONPAGED_POOL_LIMIT; ! 141: ! 142: ! 143: DWORD PX_THREAD; ! 144: DWORD PX_THREAD_CPU; ! 145: DWORD PX_THREAD_PRIV; ! 146: DWORD PX_THREAD_USER; ! 147: DWORD PX_THREAD_START; ! 148: DWORD PX_THREAD_SWITCHES; ! 149: DWORD PX_THREAD_PRIO; ! 150: DWORD PX_THREAD_BASE_PRIO; ! 151: DWORD PX_THREAD_ELAPSE; ! 152: ! 153: DWORD PX_THREAD_DETAILS; ! 154: DWORD PX_THREAD_PC; ! 155: ! 156: DWORD PX_IMAGE; ! 157: DWORD PX_IMAGE_NOACCESS; ! 158: DWORD PX_IMAGE_READONLY; ! 159: DWORD PX_IMAGE_READWRITE; ! 160: DWORD PX_IMAGE_WRITECOPY; ! 161: DWORD PX_IMAGE_EXECUTABLE; ! 162: DWORD PX_IMAGE_EXE_READONLY; ! 163: DWORD PX_IMAGE_EXE_READWRITE; ! 164: DWORD PX_IMAGE_EXE_WRITECOPY; ! 165: ! 166: ! 167: DWORD PX_PROCESS_ADDRESS_SPACE; ! 168: DWORD PX_PROCESS_PRIVATE_NOACCESS; ! 169: DWORD PX_PROCESS_PRIVATE_READONLY; ! 170: DWORD PX_PROCESS_PRIVATE_READWRITE; ! 171: DWORD PX_PROCESS_PRIVATE_WRITECOPY; ! 172: DWORD PX_PROCESS_PRIVATE_EXECUTABLE; ! 173: DWORD PX_PROCESS_PRIVATE_EXE_READONLY; ! 174: DWORD PX_PROCESS_PRIVATE_EXE_READWRITE; ! 175: DWORD PX_PROCESS_PRIVATE_EXE_WRITECOPY; ! 176: ! 177: ! 178: DWORD PX_PROCESS_MAPPED_NOACCESS; ! 179: DWORD PX_PROCESS_MAPPED_READONLY; ! 180: DWORD PX_PROCESS_MAPPED_READWRITE; ! 181: DWORD PX_PROCESS_MAPPED_WRITECOPY; ! 182: DWORD PX_PROCESS_MAPPED_EXECUTABLE; ! 183: DWORD PX_PROCESS_MAPPED_EXE_READONLY; ! 184: DWORD PX_PROCESS_MAPPED_EXE_READWRITE; ! 185: DWORD PX_PROCESS_MAPPED_EXE_WRITECOPY; ! 186: ! 187: ! 188: DWORD PX_PROCESS_IMAGE_NOACCESS; ! 189: DWORD PX_PROCESS_IMAGE_READONLY; ! 190: DWORD PX_PROCESS_IMAGE_READWRITE; ! 191: DWORD PX_PROCESS_IMAGE_WRITECOPY; ! 192: DWORD PX_PROCESS_IMAGE_EXECUTABLE; ! 193: DWORD PX_PROCESS_IMAGE_EXE_READONLY; ! 194: DWORD PX_PROCESS_IMAGE_EXE_READWRITE; ! 195: DWORD PX_PROCESS_IMAGE_EXE_WRITECOPY; ! 196: ! 197: ! 198: ! 199: ! 200: ! 201: ! 202: ! 203: ! 204: ! 205: ! 206: ! 207: #define Li2Double(x) ((double)((x).HighPart) * 4.294967296E9 + (double)((x).LowPart)) ! 208: ! 209: ! 210: ! 211: ! 212: ! 213: ! 214: ! 215: typedef struct _TIME_FIELD ! 216: TIME_FIELD, ! 217: *PTIME_FIELD; ! 218: ! 219: struct _TIME_FIELD ! 220: { ! 221: INT Hours; ! 222: INT Mins; ! 223: INT Secs; ! 224: INT mSecs; ! 225: }; ! 226: ! 227: ! 228: ! 229: ! 230: ! 231: ! 232: ! 233: ! 234: void RefreshPviewDlgThreadPC ! 235: (HWND hPviewDlg, ! 236: LPTSTR szProcessName, ! 237: LPTSTR szThreadName, ! 238: PPERF_OBJECT pThreadDetailsObject, ! 239: PPERF_DATA pCostlyData); ! 240: ! 241: ! 242: BOOL RefreshMemoryDlg ! 243: (HWND hMemDlg, ! 244: PPERF_INSTANCE pProcessInstance, ! 245: PPERF_OBJECT pProcessObject, ! 246: PPERF_OBJECT pAddressObject, ! 247: PPERF_OBJECT pImageObject); ! 248: ! 249: ! 250: void RefreshMemoryDlgImage ! 251: (HWND hMemDlg, ! 252: DWORD dwIndex, ! 253: PPERF_OBJECT pImageObject); ! 254: ! 255: ! 256: void RefreshPviewDlgMemoryData ! 257: (HWND hPviewDlg, ! 258: PPERF_INSTANCE pProcessInstance, ! 259: PPERF_OBJECT pProcessObject, ! 260: PPERF_OBJECT pAddressObject); ! 261: ! 262: ! 263: PPERF_DATA RefreshPerfData ! 264: (HKEY hPerfKey, ! 265: LPTSTR szObjectIndex, ! 266: PPERF_DATA pData, ! 267: DWORD *pDataSize); ! 268: ! 269: ! 270: void RefreshProcessList ! 271: (HWND hProcessList, ! 272: PPERF_OBJECT pObject); ! 273: ! 274: ! 275: void RefreshProcessData ! 276: (HWND hWnd, ! 277: PPERF_OBJECT pObject, ! 278: DWORD ProcessIndex); ! 279: ! 280: ! 281: void RefreshThreadList ! 282: (HWND hThreadList, ! 283: PPERF_OBJECT pObject, ! 284: DWORD ParentIndex); ! 285: ! 286: ! 287: void RefreshThreadData ! 288: (HWND hWnd, ! 289: PPERF_OBJECT pThreadObj, ! 290: DWORD ThreadIndex, ! 291: PPERF_OBJECT pProcessObj, ! 292: PPERF_INSTANCE pProcessInst); ! 293: ! 294: WORD ProcessPriority ! 295: (PPERF_OBJECT pObject, ! 296: PPERF_INSTANCE pInstance); ! 297: ! 298:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.