95 lines
1.6 KiB
C
95 lines
1.6 KiB
C
|
/*++
|
||
|
|
||
|
Copyright (c) 1998 Microsoft Corporation
|
||
|
|
||
|
Module Name:
|
||
|
|
||
|
grovperf.h
|
||
|
|
||
|
Abstract:
|
||
|
|
||
|
SIS Groveler performance DLL primary include file
|
||
|
|
||
|
Authors:
|
||
|
|
||
|
John Douceur, 1998
|
||
|
|
||
|
Environment:
|
||
|
|
||
|
User Mode
|
||
|
|
||
|
|
||
|
Revision History:
|
||
|
|
||
|
|
||
|
--*/
|
||
|
|
||
|
#ifndef _INC_GROVPERF
|
||
|
|
||
|
#define _INC_GROVPERF
|
||
|
|
||
|
#define WIN32_LEAN_AND_MEAN 1
|
||
|
|
||
|
extern "C" DWORD CALLBACK OpenGrovelerPerformanceData(LPWSTR lpDeviceNames);
|
||
|
|
||
|
extern "C" DWORD WINAPI CloseGrovelerPerformanceData();
|
||
|
|
||
|
extern "C" DWORD WINAPI CollectGrovelerPerformanceData(
|
||
|
LPWSTR lpwszValue,
|
||
|
LPVOID *lppData,
|
||
|
LPDWORD lpcbBytes,
|
||
|
LPDWORD lpcObjectTypes);
|
||
|
|
||
|
int space_needed_for_data(
|
||
|
int num_partitions);
|
||
|
|
||
|
void build_part_object_info_block(
|
||
|
LPVOID *lppData,
|
||
|
int num_partitions,
|
||
|
int data_size);
|
||
|
|
||
|
void build_part_instance_info_block(
|
||
|
LPVOID *lppData,
|
||
|
int partition_index,
|
||
|
SharedDataRecord *records);
|
||
|
|
||
|
void build_total_instance_info_block(
|
||
|
LPVOID *lppData,
|
||
|
int num_partitions,
|
||
|
SharedDataRecord *records);
|
||
|
|
||
|
#pragma pack (8)
|
||
|
|
||
|
const int partition_name_length = 32;
|
||
|
const int total_name_length = 7;
|
||
|
|
||
|
struct PartitionData
|
||
|
{
|
||
|
PERF_COUNTER_BLOCK counter_block;
|
||
|
LARGE_INTEGER counter[num_perf_counters];
|
||
|
};
|
||
|
|
||
|
struct PartitionObjectInformationBlock
|
||
|
{
|
||
|
PERF_OBJECT_TYPE object_type;
|
||
|
PERF_COUNTER_DEFINITION definition[num_perf_counters];
|
||
|
};
|
||
|
|
||
|
struct PartitionInstanceInformationBlock
|
||
|
{
|
||
|
PERF_INSTANCE_DEFINITION instance_def;
|
||
|
_TCHAR instance_name[partition_name_length];
|
||
|
PartitionData partition_data;
|
||
|
};
|
||
|
|
||
|
struct TotalInstanceInformationBlock
|
||
|
{
|
||
|
PERF_INSTANCE_DEFINITION instance_def;
|
||
|
_TCHAR instance_name[total_name_length];
|
||
|
PartitionData partition_data;
|
||
|
};
|
||
|
|
||
|
#pragma pack ()
|
||
|
|
||
|
#endif /* _INC_GROVPERF */
|