Creates a new profile object. The Handle must be freed using CloseHandle().
Mark the start of a profiling event.
Returns the amount of high-precision time in seconds that passed during the profiler's last start/stop cycle.
Returns true if the global profiler is enabled; false otherwise. It is not necessary to call this before Enter/LeaveProfilingEvent.
Mark the end of the last profiling event. This must be called in the same stack frame as StartProfilingEvent(). Not doing so, or throwing errors, will make the resulting profile very wrong.