cpp_quote("//=--------------------------------------------------------------------------=") cpp_quote("// ActivProf.h") cpp_quote("//=--------------------------------------------------------------------------=") cpp_quote("// (C) Copyright 2000 Microsoft Corporation. All Rights Reserved.") cpp_quote("//") cpp_quote("// THIS CODE AND INFORMATION IS PROVIDED \"AS IS\" WITHOUT WARRANTY OF") cpp_quote("// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO") cpp_quote("// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A") cpp_quote("// PARTICULAR PURPOSE.") cpp_quote("//=--------------------------------------------------------------------------=") cpp_quote("//") cpp_quote("#pragma comment(lib,\"uuid.lib\")") cpp_quote("//") cpp_quote("// Declarations for ActiveX Scripting profiling.") cpp_quote("//") cpp_quote("") cpp_quote("const HRESULT ACTIVPROF_E_PROFILER_PRESENT = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0200);") cpp_quote("const HRESULT ACTIVPROF_E_PROFILER_ABSENT = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0201);") cpp_quote("const HRESULT ACTIVPROF_E_UNABLE_TO_APPLY_ACTION = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0202);") cpp_quote("") cpp_quote("#ifndef __ActivProf_h") cpp_quote("#define __ActivProf_h") cpp_quote("") import "unknwn.idl"; typedef enum { PROFILER_SCRIPT_TYPE_USER, PROFILER_SCRIPT_TYPE_DYNAMIC, PROFILER_SCRIPT_TYPE_NATIVE } PROFILER_SCRIPT_TYPE; typedef enum { PROFILER_EVENT_MASK_TRACE_SCRIPT_FUNCTION_CALL = 0x00000001, PROFILER_EVENT_MASK_TRACE_NATIVE_FUNCTION_CALL = 0x00000002, PROFILER_EVENT_MASK_TRACE_ALL = PROFILER_EVENT_MASK_TRACE_SCRIPT_FUNCTION_CALL | PROFILER_EVENT_MASK_TRACE_NATIVE_FUNCTION_CALL } PROFILER_EVENT_MASK; typedef LONG PROFILER_TOKEN; [ object, uuid(784b5ff0-69b0-47d1-a7dc-2518f4230e90), pointer_default(unique) ] interface IActiveScriptProfilerControl : IUnknown { HRESULT StartProfiling([in] REFCLSID clsidProfilerObject, [in] DWORD dwEventMask, [in] DWORD dwContext); HRESULT SetProfilerEventMask([in] DWORD dwEventMask); HRESULT StopProfiling([in] HRESULT hrShutdownReason); } [ object, uuid(740eca23-7d9d-42e5-ba9d-f8b24b1c7a9b), pointer_default(unique) ] interface IActiveScriptProfilerCallback : IUnknown { HRESULT Initialize([in] DWORD dwContext); HRESULT Shutdown([in] HRESULT hrReason); HRESULT ScriptCompiled([in] PROFILER_TOKEN scriptId, [in] PROFILER_SCRIPT_TYPE type, [in] IUnknown *pIDebugDocumentContext); HRESULT FunctionCompiled([in] PROFILER_TOKEN functionId, [in] PROFILER_TOKEN scriptId, [in] [string] const WCHAR *pwszFunctionName, [in] [string] const WCHAR *pwszFunctionNameHint, [in] IUnknown *pIDebugDocumentContext); HRESULT OnFunctionEnter([in] PROFILER_TOKEN scriptId, [in] PROFILER_TOKEN functionId); HRESULT OnFunctionExit([in] PROFILER_TOKEN scriptId, [in] PROFILER_TOKEN functionId); }; cpp_quote("") cpp_quote("#endif // __ActivProf_h") cpp_quote("")