#ifndef _NTEXAPI_H
#if (PHNT_MODE != PHNT_MODE_KERNEL)
/**
* The NtCreateProfileEx routine creates a profile object for performance monitoring with group affinity.
*
* \param ProfileHandle A pointer to a variable that receives the handle to the profile object.
* \param Process Optional handle to the process to be profiled. If NULL, the current process is used.
* \param ProfileBase The base address of the region to be profiled.
* \param ProfileSize The size, in bytes, of the region to be profiled.
* \param BucketSize The size, in bytes, of each bucket in the profile buffer.
* \param Buffer A pointer to a buffer that receives the profile data.
* \param BufferSize The size, in bytes, of the buffer.
* \param ProfileSource The source of the profiling data (KPROFILE_SOURCE).
* \param GroupCount The number of group affinities provided.
* \param GroupAffinity A pointer to an array of GROUP_AFFINITY structures specifying processor groups to profile.
* \return NTSTATUS Successful or errant status.
*/
NTSYSCALLAPI
NTSTATUS
NTAPI
NtCreateProfileEx(
_Out_ PHANDLE ProfileHandle,
_In_opt_ HANDLE Process,
_In_ PVOID ProfileBase,
_In_ SIZE_T ProfileSize,
_In_ ULONG BucketSize,
_In_reads_bytes_(BufferSize) PULONG Buffer,
_In_ ULONG BufferSize,
_In_ KPROFILE_SOURCE ProfileSource,
_In_ USHORT GroupCount,
_In_reads_(GroupCount) PGROUP_AFFINITY GroupAffinity
);
View code on GitHub#ifndef _NTZWAPI_H
NTSYSCALLAPI
NTSTATUS
NTAPI
ZwCreateProfileEx(
_Out_ PHANDLE ProfileHandle,
_In_opt_ HANDLE Process,
_In_ PVOID ProfileBase,
_In_ SIZE_T ProfileSize,
_In_ ULONG BucketSize,
_In_reads_bytes_(BufferSize) PULONG Buffer,
_In_ ULONG BufferSize,
_In_ KPROFILE_SOURCE ProfileSource,
_In_ USHORT GroupCount,
_In_reads_(GroupCount) PGROUP_AFFINITY GroupAffinity
);
View code on GitHubNo description available.