#include "exp.h"
Go to the source code of this file.
Classes | |
struct | _EPROFILE |
Defines | |
#define | ACTIVE_PROFILE_LIMIT 8 |
Typedefs | |
typedef _EPROFILE | EPROFILE |
typedef _EPROFILE * | PEPROFILE |
Functions | |
BOOLEAN | ExpProfileInitialization () |
VOID | ExpProfileDelete (IN PVOID Object) |
NTSTATUS | NtCreateProfile (OUT PHANDLE ProfileHandle, IN HANDLE Process OPTIONAL, IN PVOID RangeBase, IN SIZE_T RangeSize, IN ULONG BucketSize, IN PULONG Buffer, IN ULONG BufferSize, IN KPROFILE_SOURCE ProfileSource, IN KAFFINITY Affinity) |
NTSTATUS | NtStartProfile (IN HANDLE ProfileHandle) |
NTSTATUS | NtStopProfile (IN HANDLE ProfileHandle) |
NTSTATUS | NtSetIntervalProfile (IN ULONG Interval, IN KPROFILE_SOURCE Source) |
NTSTATUS | NtQueryIntervalProfile (IN KPROFILE_SOURCE ProfileSource, OUT PULONG Interval) |
NTSTATUS | NtQueryPerformanceCounter (OUT PLARGE_INTEGER PerformanceCounter, OUT PLARGE_INTEGER PerformanceFrequency OPTIONAL) |
Variables | |
POBJECT_TYPE | ExProfileObjectType |
KMUTEX | ExpProfileStateMutex |
ULONG | ExpCurrentProfileUsage = 0 |
GENERIC_MAPPING | ExpProfileMapping |
|
Definition at line 64 of file ex/profile.c. Referenced by NtStartProfile(). |
|
Referenced by NtCreateProfile(). |
|
Referenced by ExpProfileDelete(), NtCreateProfile(), NtStartProfile(), and NtStopProfile(). |
|
Definition at line 145 of file ex/profile.c. References ASSERT, ExFreePool(), FALSE, KeStopProfile(), _EPROFILE::LockedBufferAddress, _EPROFILE::Mdl, MmUnlockPages(), MmUnmapLockedPages(), NULL, ObDereferenceObject, PEPROFILE, _EPROFILE::Process, and _EPROFILE::ProfileObject. Referenced by ExpProfileInitialization().
|
|
Definition at line 79 of file ex/profile.c. References ExpProfileDelete(), ExpProfileMapping, ExpProfileStateMutex, ExProfileObjectType, KeInitializeMutex(), L, MUTEX_LEVEL_EX_PROFILE, NonPagedPool, NT_SUCCESS, NTSTATUS(), NULL, ObCreateObjectType(), RtlInitUnicodeString(), and Status.
|
|
Definition at line 199 of file ex/profile.c. References Buffer, BufferSize, DbgPrint, EPROFILE, EXCEPTION_EXECUTE_HANDLER, ExProfileObjectType, FALSE, Handle, KernelMode, KPROCESSOR_MODE, NT_SUCCESS, NTSTATUS(), NULL, ObCreateObject(), ObDereferenceObject, ObInsertObject(), ObjectAttributes, ObReferenceObjectByHandle(), _EPROCESS::Pcb, PEPROFILE, ProbeForWrite(), ProbeForWriteHandle, PsProcessType, SeSinglePrivilegeCheck(), SeSystemProfilePrivilege, Status, and USHORT. Referenced by main().
|
|
Definition at line 788 of file ex/profile.c. References EXCEPTION_EXECUTE_HANDLER, KeQueryIntervalProfile(), KernelMode, KPROCESSOR_MODE, and ProbeForWriteUlong.
|
|
Definition at line 851 of file ex/profile.c. References EXCEPTION_EXECUTE_HANDLER, KeQueryPerformanceCounter(), KernelMode, KPROCESSOR_MODE, and ProbeForWrite(). Referenced by LdrpInitialize(), LdrpInitializeProcess(), LdrpMapDll(), NapDllInit(), and RtlpDebugPageHeapCreate().
|
|
Definition at line 757 of file ex/profile.c. References KeSetIntervalProfile().
|
|
Definition at line 517 of file ex/profile.c. References ACTIVE_PROFILE_LIMIT, ASSERT, ExAllocatePoolWithTag, EXCEPTION_EXECUTE_HANDLER, Executive, ExFreePool(), ExpCurrentProfileUsage, ExpProfileStateMutex, ExProfileObjectType, FALSE, IoWriteAccess, KeInitializeProfile(), KeReleaseMutex(), KernelMode, KeStartProfile(), KeWaitForSingleObject(), KPROCESSOR_MODE, MmCached, MmInitializeMdl, MmMapLockedPagesSpecifyCache(), MmProbeAndLockPages(), MmSizeOfMdl(), MmUnlockPages(), MmUnmapLockedPages(), NonPagedPool, NormalPagePriority, NT_SUCCESS, NTSTATUS(), NULL, ObDereferenceObject, ObReferenceObjectByHandle(), PEPROFILE, ProfileObject, and Status. Referenced by main().
|
|
Definition at line 680 of file ex/profile.c. References ASSERT, Executive, ExFreePool(), ExpProfileStateMutex, ExProfileObjectType, FALSE, KeReleaseMutex(), KernelMode, KeStopProfile(), KeWaitForSingleObject(), KPROCESSOR_MODE, MmUnlockPages(), MmUnmapLockedPages(), NT_SUCCESS, NTSTATUS(), NULL, ObDereferenceObject, ObReferenceObjectByHandle(), PEPROFILE, and Status. Referenced by main().
|
|
Definition at line 55 of file ex/profile.c. Referenced by NtStartProfile(). |
|
Initial value:
Definition at line 57 of file ex/profile.c. Referenced by ExpProfileInitialization(). |
|
Definition at line 53 of file ex/profile.c. Referenced by ExpProfileInitialization(), NtStartProfile(), and NtStopProfile(). |
|
Definition at line 51 of file ex/profile.c. Referenced by ExpProfileInitialization(), NtCreateProfile(), NtStartProfile(), and NtStopProfile(). |