VmCounters.QuotaPeakPagedPoolUsage/1024); printf("PagedPool(K):tt%-8dn",pSystemProc->VmCounters.QuotaPagedPoolUsage/1024); printf("PeakNonPagedPook(K。探测Win2K/XP/2003本机系统信息( 六 )。" />

探测Win2K/XP/2003本机系统信息( 六 )



printf("PeakPagedPool(K):t %-8dt",pSystemProc->VmCounters.QuotaPeakPagedPoolUsage/1024);
printf("PagedPool(K):tt%-8dn",pSystemProc->VmCounters.QuotaPagedPoolUsage/1024);
printf("PeakNonPagedPook(K):t %-8dt",pSystemProc->VmCounters.QuotaPeakNonPagedPoolUsage/1024);
printf("NonePagedPook(K):t%-8dn",pSystemProc->VmCounters.QuotaNonPagedPoolUsage/1024);
printf("PeakPagefile(K):t %-8dt",pSystemProc->VmCounters.PeakPagefileUsage/1024);
printf("Pagefile(K):tt%-8dn",pSystemProc->VmCounters.PagefileUsage/1024);
printf("PeakVirtualSize(K):t %-8dt",pSystemProc->VmCounters.PeakVirtualSize/1024);
printf("VirtualSize(K):tt%-8dnn",pSystemProc->VmCounters.VirtualSize/1024);
printf("ReadTransfer:tt %-8dt",pSystemProc->IoCounters.ReadTransferCount);
printf("ReadOperationCount:t%-8dn",pSystemProc->IoCounters.ReadOperationCount);
printf("WriteTransfer:tt %-8dt",pSystemProc->IoCounters.WriteTransferCount);
printf("WriteOperationCount:t%-8dn",pSystemProc->IoCounters.WriteOperationCount);
printf("OtherTransfer:tt %-8dt",pSystemProc->IoCounters.OtherTransferCount);
printf("OtherOperationCount:t%-8dnn",pSystemProc->IoCounters.OtherOperationCount);
printf("%-5s%3s%4s%5s%5ssss%7s%6s%9sn","TID","Pri","BPr","Priv","User","KernelTime","UserTime","StartAddr","CSwitC","State","WtReason");
printf("-------------------------------------------------------------------------------n");
for(ulIndex = 0; ulIndex < pSystemProc->ThreadCount; ulIndex)
{
pSystemThre = &pSystemProc->Threads[ulIndex];
printf("%-5d",pSystemProc->Threads[ulIndex].ClientId.UniqueThread);
printf("=",pSystemProc->Threads[ulIndex].Priority);
printf("M",pSystemProc->Threads[ulIndex].BasePriority);
printf("%%M",(pSystemProc->Threads[ulIndex].KernelTime.QuadPart * 100)/(pSystemProc->KernelTime.QuadPartpSystemProc->UserTime.QuadPart));
printf("%%M",(pSystemProc->Threads[ulIndex].UserTime.QuadPart * 100)/(pSystemProc->KernelTime.QuadPartpSystemProc->UserTime.QuadPart));
llTempTime; = pSystemProc->Threads[ulIndex].KernelTime.QuadPart;
llTempTime /= 10000;
printf("-:",llTempTime/(60*60*1000));
llTempTime %= 60*60*1000;
printf("%.2d.",llTempTime/(60*1000));
llTempTime %= 60*1000;
printf("%.2d.",llTempTime/1000);
llTempTime %= 100;
printf("%.2d ",llTempTime);
llTempTime; = pSystemProc->Threads[ulIndex].UserTime.QuadPart;
llTempTime /= 10000;
printf("-:",llTempTime/(60*60*1000));
llTempTime %= 60*60*1000;
printf("%.2d.",llTempTime/(60*1000));
llTempTime %= 60*1000;
printf("%.2d.",llTempTime/1000);
llTempTime %= 100;
printf("%.2d ",llTempTime);
printf(" 0x%.8X",pSystemProc->Threads[ulIndex].StartAddress);
printf("}",pSystemProc->Threads[ulIndex].ContextSwitchCount);
switch(pSystemProc->Threads[ulIndex].State)
{
case StateInitialized:
printf("%6s","Init.");
break;
case StateReady:
printf("%6s","Ready");
break;
case StateRunning:
printf("%6s","Run");
break;
case StateStandby:
printf("%6s","StBy.");
break;
case StateTerminated:
printf("%6s","Term.");
break;
case StateWait:
printf("%6s","Wait");
break;
case StateTransition:
printf("%6s","Tran.");
break;
case StateUnknown:
printf("%6s","Unkn.");
break;
default:
printf("%6s","Unkn.");
break;
}
switch(pSystemProc->Threads[ulIndex].WaitReason)
{
case Executive:
printf(" %-8s","Executi.");
break;
case FreePage:
printf(" %-8s","FreePag.");
break;
case PageIn:
printf(" %-8s","PageIn");
break;
case PoolAllocation:
printf(" %-8s","PoolAll.");
break;
case DelayExecution:
printf(" %-8s","DelayEx.");
break;
case Suspended:
printf(" %-8s","Suspend.");
break;
case UserRequest:
printf(" %-8s","UserReq.");
break;
case WrExecutive:
printf(" %-8s","WrExect.");

推荐阅读