/// <summary>
        ///   Get a set of features currently active in the profiler.
        /// </summary>
        /// <returns>The set of features.</returns>
        public static MeasureFeatures GetFeatures()
        {
            var             id       = Helper.Id;
            MeasureFeatures features = 0;

            switch (Helper.Platform)
            {
            case PlatformId.Linux:
                if (LinuxHelper.IsLibCoreApiAlreadyLoaded())
                {
                    if (Helper.InvokeCoreApi(() => LibCoreApi.V1_Measure_CheckActive(id, out features)))
                    {
                        return(features);
                    }
                }
                break;

            case PlatformId.MacOsX:
                if (MacOsXHelper.IsLibCoreApiAlreadyLoaded())
                {
                    if (Helper.InvokeCoreApi(() => LibCoreApi.V1_Measure_CheckActive(id, out features)))
                    {
                        return(features);
                    }
                }
                break;

            case PlatformId.Windows:
                if (WindowsHelper.IsCoreApiDllAlreadyLoaded())
                {
                    if (Helper.InvokeCoreApi(() => CoreApiDll.V1_Measure_CheckActive(id, out features)))
                    {
                        return(features);
                    }
                }
                break;

            default:
                throw new PlatformNotSupportedException();
            }
            return(0);
        }