116 lines
3.4 KiB
C
116 lines
3.4 KiB
C
//========= Copyright Valve Corporation, All rights reserved. ============//
|
|
//
|
|
// Purpose:
|
|
//
|
|
// $NoKeywords: $
|
|
//
|
|
//=============================================================================//
|
|
/**
|
|
*** Copyright (C) 1999-2001 Intel Corporation. All rights reserved.
|
|
***
|
|
*** The information and source code contained herein is the exclusive
|
|
*** property of Intel Corporation and may not be disclosed, examined
|
|
*** or reproduced in whole or in part without explicit written authorization
|
|
*** from the company.
|
|
**/
|
|
|
|
/*********************************************************************************
|
|
* vtuneapi.h 03-21-2001
|
|
* Intel Corporation
|
|
*
|
|
* This header file describes VTune api's which are exported by vtuneapi.dll.
|
|
*
|
|
* To use these api's, include this header file and either link with vtuneapi.lib or load
|
|
* vtuneapi.dll at runtime.
|
|
*
|
|
* VTune API's
|
|
* -----------
|
|
*
|
|
* VOID VTPause(void) and VOID VTResume(void)
|
|
*
|
|
* VTPause and VTResume pause or resume data collection during a VTune Sampling, Counter Monitor, or Callgraph activity.
|
|
*
|
|
* If VTPause is called while a VTune Sampling collection is active, a flag is set which
|
|
* suspends collection of PC samples on the current machine. Collection of PC samples
|
|
* can be resumed by calling VTResume which clears the flag. The overhead to set and clear the flag
|
|
* is very low, so the VTPause and VTResume can be called at a high frequency.
|
|
*
|
|
* If VTPause is called while a VTune Callgraph collection is active, Callgraph data collection
|
|
* is paused for the current process. Callgraph data collection for the current process can
|
|
* be resumed by calling VTResume.
|
|
*
|
|
* If VTPause is called while a VTune Counter Monitor collection is active, Counter Monitor data collection
|
|
* is paused. Counter Monitor data collection can be resumed by calling VTResume.
|
|
*
|
|
* VTPause and VTResume can be safely called when the Sampling, Counter Monitor, and Callgraph collectors are not active.
|
|
* In this case, the VTPause and VTResume do nothing.
|
|
*
|
|
* Note:
|
|
*
|
|
* VTune Sampling, Counter Monitor, and Callgraph activities are typically started with the VTune application.
|
|
* The VTune GUI allows Sampling, Counter Monitor, and Callgraph activities to be started in "Pause" mode
|
|
* which suspends data collection until a VTResume is called.
|
|
* Data collection can also be paused and resumed by the Pause/Resume button in the VTune GUI.
|
|
* See VTune onlilne help for more details.
|
|
*
|
|
\*********************************************************************************/
|
|
|
|
#ifndef _VTUNEAPI_H_
|
|
#define _VTUNEAPI_H_
|
|
|
|
#ifndef _XBOX
|
|
#include <windows.h>
|
|
#else
|
|
#include <XTL.h>
|
|
#endif //!_XBOX
|
|
|
|
#ifdef _XBOX
|
|
#define VTUNEAPI
|
|
#elif !defined(_VTUNEAPI_)
|
|
#define VTUNEAPI __declspec(dllimport)
|
|
#else
|
|
#define VTUNEAPI __declspec(dllexport)
|
|
#endif
|
|
|
|
|
|
#define VTUNEAPICALL __cdecl
|
|
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif // __cplusplus
|
|
|
|
|
|
//
|
|
// Pause and Resume data collection during VTune PC Sampling and Callgraph sessions.
|
|
// The VTPause and VTResume api's effect
|
|
// both VTune PC Sampling and VTune Callgraph
|
|
//
|
|
VTUNEAPI
|
|
VOID VTUNEAPICALL VTPause(void);
|
|
|
|
VTUNEAPI
|
|
VOID VTUNEAPICALL VTResume(void);
|
|
|
|
|
|
//Preserve VtPauseSampling and VtResumeSampling for backward compatibility...
|
|
VTUNEAPI
|
|
void VTUNEAPICALL VTPauseSampling(void);
|
|
|
|
VTUNEAPI
|
|
void VTUNEAPICALL VTResumeSampling(void);
|
|
|
|
VTUNEAPI
|
|
void VTUNEAPICALL CMPause(void);
|
|
|
|
VTUNEAPI
|
|
void VTUNEAPICALL CMResume(void);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif // __cplusplus
|
|
|
|
#endif // _VTUNEAPI_H_
|
|
|
|
|