OUT PHANDLE ProfileHandle,
IN HANDLE Process OPTIONAL,
IN PVOID ImageBase,
IN ULONG ImageSize,
IN ULONG BucketSize,
IN PVOID Buffer,
IN ULONG BufferSize,
IN KPROFILE_SOURCE ProfileSource,
IN KAFFINITY Affinity );
Функция NtCreateProfile создаёт объект "Профиль".
Объекты "Профиль" используются для профилирования приложений. Есть 24 счётчиков профилей, определённых в перечислимом типе KPROFILE_SOURCE. Один объект "Профиль" может использоваться для получения информации об одном счётчике производительности.
ProfileHandle
Результат вызова: HANDLE объекта "Профиль".
Process
HANDLE процесса, у которого осуществляется профилирование. Не требуется, если профилированный код помещён в адресное пространство ядра (больше, чем 0x80000000).
ImageBase
Начальный адрес профилирования.
ImageSize
Размер профилируемого блока памяти.
BucketSize
- ??? (не может быть менее 2).
Buffer
Буфер данных, память для которого выделена заранее.
BufferSize
Размер буфера, в байтах.
ProfileSource
Идентификатор счётчика производительности. См. возможные значения в описании перечислимого типа KPROFILE_SOURCE.
Affinity
Маска процессоров. Определяет процессоры, которые будут опрашивать счётчик производительности.
Документировал:
Томаш Новак
Зависимости:
Библиотека: ntdll.lib
Привилегии для пользовательского режима: SE_PROF_SINGLE_PROCESS_PRIVILEGE
Привилегии для режима ядра: SE_SYSTEM_PROFILE_PRIVILEGE