106 lines
1.7 KiB
C
106 lines
1.7 KiB
C
|
/*++
|
||
|
|
||
|
Copyright (c) 2000 Microsoft Corporation
|
||
|
|
||
|
Module Name:
|
||
|
|
||
|
perfp.h
|
||
|
|
||
|
Abstract:
|
||
|
|
||
|
This module contains the definitions of data structures and macros
|
||
|
used by kernel-mode logging in the performance data event log.
|
||
|
|
||
|
Author:
|
||
|
|
||
|
David Fields (DavidFie)
|
||
|
|
||
|
Revision History:
|
||
|
|
||
|
5/15/2000 David Fields (DavidFie)
|
||
|
Initial
|
||
|
|
||
|
--*/
|
||
|
|
||
|
#ifndef _PERFP_
|
||
|
#define _PERFP_
|
||
|
|
||
|
#if _MSC_VER >= 1000
|
||
|
#pragma once
|
||
|
#endif
|
||
|
|
||
|
#include "ntos.h"
|
||
|
|
||
|
#pragma warning(error:4100) // Unreferenced formal parameter
|
||
|
#pragma warning(error:4101) // Unreferenced local variable
|
||
|
#pragma warning(error:4705) // Statement has no effect
|
||
|
|
||
|
//
|
||
|
// Profiling structures
|
||
|
//
|
||
|
extern KPROFILE PerfInfoProfileObject;
|
||
|
extern PERFINFO_SAMPLED_PROFILE_CACHE PerfProfileCache;
|
||
|
extern BOOLEAN PerfInfoSampledProfileCaching;
|
||
|
extern KPROFILE_SOURCE PerfInfoProfileSourceActive;
|
||
|
extern KPROFILE_SOURCE PerfInfoProfileSourceRequested;
|
||
|
extern KPROFILE_SOURCE PerfInfoProfileInterval;
|
||
|
extern ULONG PerfInfoSampledProfileFlushInProgress;
|
||
|
extern PERFINFO_GROUPMASK PerfGlobalGroupMask;
|
||
|
|
||
|
|
||
|
#define PERFPOOLTAG 'freP'
|
||
|
|
||
|
NTSTATUS
|
||
|
PerfInfoReserveBytesWMI(
|
||
|
PPERFINFO_HOOK_HANDLE Hook,
|
||
|
USHORT HookId,
|
||
|
ULONG BytesToReserve
|
||
|
);
|
||
|
|
||
|
NTSTATUS
|
||
|
PerfInfoFileNameRunDown(
|
||
|
);
|
||
|
|
||
|
NTSTATUS
|
||
|
PerfInfoProcessRunDown(
|
||
|
);
|
||
|
|
||
|
NTSTATUS
|
||
|
PerfInfoSysModuleRunDown(
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
PerfInfoProfileInit(
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
PerfInfoProfileUninit(
|
||
|
);
|
||
|
|
||
|
#ifdef NTPERF
|
||
|
extern ULONGLONG PerfInfoTickFrequency;
|
||
|
|
||
|
NTSTATUS
|
||
|
PerfInfoReserveBytesPerfMem(
|
||
|
PPERFINFO_HOOK_HANDLE Hook,
|
||
|
USHORT HookId,
|
||
|
ULONG BytesToReserve
|
||
|
);
|
||
|
|
||
|
NTSTATUS
|
||
|
PerfTurnOnBranchTracing(
|
||
|
);
|
||
|
|
||
|
NTSTATUS
|
||
|
PerfTurnOffBranchTracing(
|
||
|
);
|
||
|
|
||
|
BOOLEAN
|
||
|
PerfInfoFlushBranchCache(
|
||
|
BOOLEAN bIntsOff
|
||
|
);
|
||
|
|
||
|
#endif // NTPERF
|
||
|
|
||
|
#endif // _PERFP_
|