Share via


ProfilerControl (Windows Embedded CE 6.0)

1/6/2010

This structure is used by the ProfileStartEx function.

Syntax

typedef struct ProfilerControl {
  DWORD dwVersion;
  DWORD dwOptions;
  DWORD dwReserved;
  union {
    struct {
      DWORD dwUSecInterval;
    } Kernel;
    struct {
      DWORD dwProcessorType;
      DWORD dwControlSize;
      BYTE bHardwareSpecificSettings[0];
    } OEM;
  };
} ProfilerControl;

Members

  • dwVersion
    Version of the structure. Set to 1.
  • dwOptions
    Profile flags. The following table shows possible values for this member.

    Value Description

    PROFILE_BUFFER

    Records samples to a buffer.

    Use with PROFILE_OBJCALL for object call profiling, or by itself for Monte Carlo profiling.

    PROFILE_CONTINUE

    Starts the profiler timer (starts/resumes the profiler sampling).

    Before using this flag, call the ProfileStartEx function with the PROFILE_STARTPAUSED flag set.

    This is valid only if the profiler is paused; for example, if ProfileStartEx was previously called with PROFILE_PAUSE or PROFILE_STARTPAUSED set.

    PROFILE_KCALL

    KCALL profiling records kernel calls.

    PROFILE_OBJCALL

    Records object calls.

    PROFILE_PAUSE

    Stops the profiler timer (pauses the profiler sampling).

    Call ProfileStartEx with the PROFILE_STARTPAUSED flag before using this flag.

    This is valid only if the profiler is running; for example, if ProfileStartEx was previously called without PROFILE_PAUSE or PROFILE_STARTPAUSED set.

    PROFILE_STARTPAUSED

    Begins profiling with the profiler timer off.

    Profiler control variables are initialized, but the timer is not activated, sono profiling samples are made.

    Use this flag simultaneously with PROFILE_BUFFER or PROFILE_OBJCALL.

    Sampling does not begin until ProfileStartEx is called again with the PROFILE_RESUME flag set.

  • dwReserved
    Reserved for future use; set to zero.
  • dwUSecInterval
    Interval, in microseconds, for each profile interrupt or sample. This can be changed, depending on the device implementation.

    This value is valid when not using PROFILE_OEMDEFINED.

  • dwProcessorType
    Type of processor expected. Values for this field have not yet been defined so this field should be set to zero.

    This value is valid only when using PROFILE_OEMDEFINED.

  • dwControlSize
    OEM-defined data. See the documentation for your board support package (BSP) to determine the value of this field.

    This value is valid only when using PROFILE_OEMDEFINED.

  • bHardwareSpecifcSettings
    OEM-defined data. See the documentation for your BSP to determine the value of this field.

    This value is valid only when using PROFILE_OEMDEFINED.

Remarks

You can use ProfilerControl to expose control over custom profiling for a BSP.

Requirements

Header profiler.h
Windows Embedded CE Windows CE 5.0 and later

See Also

Reference

Kernel Structures
ProfileStartEx

Other Resources

IOCTL_HAL_OEM_PROFILER