The SuspendProfile method increments the Suspend/Resume counter for the specified profiling level.
Namespace:
Microsoft.VisualStudio.Profiler
Assembly:
Microsoft.VisualStudio.Profiler (in Microsoft.VisualStudio.Profiler.dll)
Visual Basic (Declaration)
Public Shared Function SuspendProfile ( _
profileLevel As ProfileLevel, _
elementId As UInteger _
) As ProfileOperationResult
Dim profileLevel As ProfileLevel
Dim elementId As UInteger
Dim returnValue As ProfileOperationResult
returnValue = DataCollection.SuspendProfile(profileLevel, _
elementId)
public static ProfileOperationResult SuspendProfile(
ProfileLevel profileLevel,
uint elementId
)
public:
static ProfileOperationResult SuspendProfile(
ProfileLevel profileLevel,
unsigned int elementId
)
public static function SuspendProfile(
profileLevel : ProfileLevel,
elementId : uint
) : ProfileOperationResult
SuspendProfile and ResumeProfile control the Suspend/Resume counter for the profiling level. The Suspend/Resume counter is typically used to override the standard profiler API data control functions.
The initial value of the Suspend/Resume counter is 0. Each call to SuspendProfile adds 1 to the Suspend/Resume count; each call to ResumeProfile subtracts 1.
When the Suspend/Resume count is greater than 0, the Suspend/Resume state for the level is OFF. When the count is less than or equal to 0, the Suspend/Resume state is ON.
When the Start/Stop state and the Suspend/Resume state are both ON, the profiling state for the level is ON. For a thread to be profiled, the global, process, and thread level states for the thread must all be ON.
The following example illustrates the SuspendProfile method. This example assumes that a prior call to StartProfile has been made for the process or thread identified by the property DataCollection.CurrentId.
public void ExerciseSuspendProfile()
{
// The initial value of the Suspend/Resume counter is 0.
// Each call to SuspendProfile adds 1 to the
// Suspend/Resume count; each call
// to ResumeProfile subtracts 1.
// Declare enumeration to hold result of call
// to SuspendProfile
ProfileOperationResult profileResult;
profileResult = DataCollection.SuspendProfile(
ProfileLevel.Global,
DataCollection.CurrentId);
Console.WriteLine("SuspendProfile returned {0}", profileResult);
}
Reference