break;
case WrFreePage:
printf(" %-8s","WrFrePg.");
break;
case WrPageIn:
printf(" %-8s","WrPageIn");
break;
case WrPoolAllocation:
printf(" %-8s","WrPoolA.");
break;
case WrSuspended:
printf(" %-8s","WrSuspe.");
break;
case WrUserRequest:
printf(" %-8s","WrUsReq.");
break;
case WrEventPair:
printf(" %-8s","WrEvent.");
break;
case WrQueue:
printf(" %-8s","WrQueue");
break;
case WrLpcReceive:
printf(" %-8s","WrLpcRv.");
break;
case WrLpcReply:
printf(" %-8s","WrLpcRp.");
break;
case WrVertualMemory:
printf(" %-8s","WrVerMm.");
break;
case WrPageOut:
printf(" %-8s","WrPgOut.");
break;
case WrRendezvous:
printf(" %-8s","WrRende.");
break;
case WrKernel:
printf(" %-8s","WrKernel");
break;
default:
printf(" %-8s","Unknown");
break;
}
printf("n");
}
printf("-------------------------------------------------------------------------------nn");
; printf("Total %d Thread(s) !nn",ulIndex);
dwTotalProcess;
break;
}
pSystemProc = (PSYSTEM_PROCESSES)((char *)pSystemProcpSystemProc->NextEntryDelta);
}
}
__finally
{
if(dwTotalProcess == 0)
{
printf("Could not found the %d Process !n",dwPID);
}
else
{
printf("TID:tt====>tThread Identificationn");
printf("Pri:tt====>tPriorityn");
printf("BPr:tt====>tBase Priorityn");
printf("Priv:tt====>tPrivilegen");
printf("StartAddr:t====>tThread Start Addressn");
printf("CSwitC:tt====>tContext Switch Countn");
printf("WtReason:t====>tWait Reasonn");
}
if(lpSystemInfo != NULL)
{
free(lpSystemInfo);
}
if(hNtDll != NULL)
{
FreeLibrary(hNtDll);
}
}
return 0;
}
VOID Start()
{
printf("T-PMList, by TOo2yn");
printf("E-mail: TOo2y@safechina.netn");
printf("HomePage: www.safechina.netn");
printf("Date: 05-10-2003nn");
return ;
}
VOID Usage()
{
printf("Usage:tT-PMList; [-e] │ [-s PID]n");
printf("; -et; Enumerate All Processesn");
printf("; -s PID; Show Special Process Information with PIDnn");
return ;
}
#endif
2.T-PMPerf的头文件源代码:
#ifndef T_PMPERF_H
#define T_PMPERF_H
#include "windows.h"
#include "stdio.h"
#define SYSTEM_PERF_INFO 0x02
#define SYSTEM_PROC_TIME 0x08
#define SYSTEM_PAGE_INFO 0x12
#define SYSTEM_CACHE_INFO0x15
#define MAX_INFO_BUF_LEN 0x500000
#define STATUS_SUCCESS((NTSTATUS)0x00000000L)
typedef LONG; NTSTATUS;
typedef DWORD SYSTEM_INFORMATION_CLASS;
typedef struct _LSA_UNICODE_STRING
{
USHORT; Length;
USHORT; MaximumLength;
PWSTRBuffer;
}LSA_UNICODE_STRING,*PLSA_UNICODE_STRING;
typedef LSA_UNICODE_STRING UNICODE_STRING, *PUNICODE_STRING;
typedef struct _SYSTEM_PERFORMANCE_INFORMATION
{
LARGE_INTEGER; IdleTime;
LARGE_INTEGER; ReadTransferCount;
LARGE_INTEGER; WriteTransferCount;
LARGE_INTEGER; OtherTransferCount;
ULONG; ReadOperationCount;
ULONG; WriteOperationCount;
ULONG; OtherOperationCount;
ULONG; AvailablePages;
ULONG; TotalCommittedPages;
ULONG; TotalCommitLimit;
ULONG; PeakCommitment;
ULONG; PageFaults;
ULONG; WriteCopyFaults;
ULONG; TransitionFaults;
ULONG; Reserved1;
ULONG; DemandZeroFaults;
ULONG; PagesRead;
ULONG; PageReadIos;
ULONG; Reserved2[2];
ULONG; PagefilePagesWritten;
ULONG; PagefilePageWriteIos;
ULONG; MappedFilePagesWritten;
ULONG; MappedFileWriteIos;
ULONG; PagedPoolUsage;
ULONG; NonPagedPoolUsage;
ULONG; PagedPoolAllocs;
ULONG; PagedPoolFrees;
ULONG; NonPagedPoolAllocs;
ULONG; NonPagedPoolFress;
ULONG; TotalFreeSystemPtes;
ULONG; SystemCodePage;
ULONG; TotalSystemDriverPages;
ULONG; TotalSystemCodePages;
ULONG; SmallNonPagedLookasideListAllocateHits;
ULONG; SmallPagedLookasideListAllocateHits;
推荐阅读
- Windows2003 远程桌面超过最大连接数解决办法
- win2003 sql 1433 端口连接问题
- Windows 2003系统加速十四招大法
- 为Windows 2003加装视频压缩
- Win 2003系统网络负载均衡的实现
- Windows 2003优化配置
- 变Win 2003为工作站
- 配置基于Win 2003 的服务器
- Win2003下提高FSO的安全性
- Win 2003系统十例最新配置技巧
