191 lines
4.2 KiB
C
191 lines
4.2 KiB
C
|
/*++
|
|||
|
|
|||
|
Copyright (c) 1996 Microsoft Corporation
|
|||
|
|
|||
|
Module Name:
|
|||
|
|
|||
|
datathrd.c
|
|||
|
|
|||
|
Abstract:
|
|||
|
|
|||
|
a file containing the constant data structures used by the Performance
|
|||
|
Monitor data for the Thread Performance data objects
|
|||
|
|
|||
|
Created:
|
|||
|
|
|||
|
Bob Watson 22-Oct-1996
|
|||
|
|
|||
|
Revision History:
|
|||
|
|
|||
|
None.
|
|||
|
|
|||
|
--*/
|
|||
|
//
|
|||
|
// Include Files
|
|||
|
//
|
|||
|
|
|||
|
#include <windows.h>
|
|||
|
#include <winperf.h>
|
|||
|
#include <ntprfctr.h>
|
|||
|
#include <perfutil.h>
|
|||
|
#include "datathrd.h"
|
|||
|
|
|||
|
// dummy variable for field sizing.
|
|||
|
static THREAD_COUNTER_DATA tcd;
|
|||
|
|
|||
|
//
|
|||
|
// Constant structure initializations
|
|||
|
// defined in datathrd.h
|
|||
|
//
|
|||
|
THREAD_DATA_DEFINITION ThreadDataDefinition = {
|
|||
|
{ 0,
|
|||
|
sizeof(THREAD_DATA_DEFINITION),
|
|||
|
sizeof(PERF_OBJECT_TYPE),
|
|||
|
THREAD_OBJECT_TITLE_INDEX,
|
|||
|
0,
|
|||
|
233,
|
|||
|
0,
|
|||
|
PERF_DETAIL_NOVICE,
|
|||
|
(sizeof(THREAD_DATA_DEFINITION)-sizeof(PERF_OBJECT_TYPE))/
|
|||
|
sizeof(PERF_COUNTER_DEFINITION),
|
|||
|
0,
|
|||
|
0,
|
|||
|
UNICODE_CODE_PAGE,
|
|||
|
{0L,0L},
|
|||
|
{10000000L,0L}
|
|||
|
},
|
|||
|
{ sizeof(PERF_COUNTER_DEFINITION),
|
|||
|
6,
|
|||
|
0,
|
|||
|
191,
|
|||
|
0,
|
|||
|
0,
|
|||
|
PERF_DETAIL_NOVICE,
|
|||
|
PERF_100NSEC_TIMER,
|
|||
|
sizeof (tcd.ProcessorTime),
|
|||
|
(DWORD)(ULONG_PTR)&((PTHREAD_COUNTER_DATA)0)->ProcessorTime
|
|||
|
},
|
|||
|
{ sizeof(PERF_COUNTER_DEFINITION),
|
|||
|
142,
|
|||
|
0,
|
|||
|
193,
|
|||
|
0,
|
|||
|
0,
|
|||
|
PERF_DETAIL_ADVANCED,
|
|||
|
PERF_100NSEC_TIMER,
|
|||
|
sizeof (tcd.UserTime),
|
|||
|
(DWORD)(ULONG_PTR)&((PTHREAD_COUNTER_DATA)0)->UserTime
|
|||
|
},
|
|||
|
{ sizeof(PERF_COUNTER_DEFINITION),
|
|||
|
144,
|
|||
|
0,
|
|||
|
195,
|
|||
|
0,
|
|||
|
0,
|
|||
|
PERF_DETAIL_ADVANCED,
|
|||
|
PERF_100NSEC_TIMER,
|
|||
|
sizeof (tcd.KernelTime),
|
|||
|
(DWORD)(ULONG_PTR)&((PTHREAD_COUNTER_DATA)0)->KernelTime
|
|||
|
},
|
|||
|
{ sizeof(PERF_COUNTER_DEFINITION),
|
|||
|
146,
|
|||
|
0,
|
|||
|
197,
|
|||
|
0,
|
|||
|
-2,
|
|||
|
PERF_DETAIL_ADVANCED,
|
|||
|
PERF_COUNTER_COUNTER,
|
|||
|
sizeof (tcd.ContextSwitches),
|
|||
|
(DWORD)(ULONG_PTR)&((PTHREAD_COUNTER_DATA)0)->ContextSwitches
|
|||
|
},
|
|||
|
{ sizeof(PERF_COUNTER_DEFINITION),
|
|||
|
684,
|
|||
|
0,
|
|||
|
699,
|
|||
|
0,
|
|||
|
-4,
|
|||
|
PERF_DETAIL_ADVANCED,
|
|||
|
PERF_ELAPSED_TIME,
|
|||
|
sizeof (tcd.ThreadElapsedTime),
|
|||
|
(DWORD)(ULONG_PTR)&((PTHREAD_COUNTER_DATA)0)->ThreadElapsedTime
|
|||
|
},
|
|||
|
{ sizeof(PERF_COUNTER_DEFINITION),
|
|||
|
694,
|
|||
|
0,
|
|||
|
695,
|
|||
|
0,
|
|||
|
0,
|
|||
|
PERF_DETAIL_ADVANCED,
|
|||
|
PERF_COUNTER_RAWCOUNT,
|
|||
|
sizeof (tcd.ThreadPriority),
|
|||
|
(DWORD)(ULONG_PTR)&((PTHREAD_COUNTER_DATA)0)->ThreadPriority
|
|||
|
},
|
|||
|
{ sizeof(PERF_COUNTER_DEFINITION),
|
|||
|
682,
|
|||
|
0,
|
|||
|
697,
|
|||
|
0,
|
|||
|
0,
|
|||
|
PERF_DETAIL_ADVANCED,
|
|||
|
PERF_COUNTER_RAWCOUNT,
|
|||
|
sizeof (tcd.ThreadBasePriority),
|
|||
|
(DWORD)(ULONG_PTR)&((PTHREAD_COUNTER_DATA)0)->ThreadBasePriority
|
|||
|
},
|
|||
|
{ sizeof(PERF_COUNTER_DEFINITION),
|
|||
|
706,
|
|||
|
0,
|
|||
|
707,
|
|||
|
0,
|
|||
|
0,
|
|||
|
PERF_DETAIL_WIZARD,
|
|||
|
PERF_COUNTER_RAWCOUNT_HEX,
|
|||
|
sizeof (tcd.ThreadStartAddr),
|
|||
|
(DWORD)(ULONG_PTR)&((PTHREAD_COUNTER_DATA)0)->ThreadStartAddr
|
|||
|
},
|
|||
|
{ sizeof(PERF_COUNTER_DEFINITION),
|
|||
|
46,
|
|||
|
0,
|
|||
|
47,
|
|||
|
0,
|
|||
|
0,
|
|||
|
PERF_DETAIL_WIZARD,
|
|||
|
PERF_COUNTER_RAWCOUNT,
|
|||
|
sizeof (tcd.ThreadState),
|
|||
|
(DWORD)(ULONG_PTR)&((PTHREAD_COUNTER_DATA)0)->ThreadState
|
|||
|
},
|
|||
|
{ sizeof(PERF_COUNTER_DEFINITION),
|
|||
|
336,
|
|||
|
0,
|
|||
|
337,
|
|||
|
0,
|
|||
|
0,
|
|||
|
PERF_DETAIL_WIZARD,
|
|||
|
PERF_COUNTER_RAWCOUNT,
|
|||
|
sizeof (tcd.WaitReason),
|
|||
|
(DWORD)(ULONG_PTR)&((PTHREAD_COUNTER_DATA)0)->WaitReason
|
|||
|
},
|
|||
|
{ sizeof(PERF_COUNTER_DEFINITION),
|
|||
|
784,
|
|||
|
0,
|
|||
|
785,
|
|||
|
0,
|
|||
|
0,
|
|||
|
PERF_DETAIL_WIZARD,
|
|||
|
PERF_COUNTER_RAWCOUNT,
|
|||
|
sizeof (tcd.ProcessId),
|
|||
|
(DWORD)(ULONG_PTR)&((PTHREAD_COUNTER_DATA)0)->ProcessId
|
|||
|
},
|
|||
|
{ sizeof(PERF_COUNTER_DEFINITION),
|
|||
|
804,
|
|||
|
0,
|
|||
|
805,
|
|||
|
0,
|
|||
|
0,
|
|||
|
PERF_DETAIL_WIZARD,
|
|||
|
PERF_COUNTER_RAWCOUNT,
|
|||
|
sizeof (tcd.ThreadId),
|
|||
|
(DWORD)(ULONG_PTR)&((PTHREAD_COUNTER_DATA)0)->ThreadId
|
|||
|
}
|
|||
|
};
|
|||
|
|