windows-nt/Source/XPSP1/NT/base/ntos/perf/perfp.h
2020-09-26 16:20:57 +08:00

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_