mirror of https://github.com/UMSKT/xpmgr.git
88 lines
3.3 KiB
Plaintext
88 lines
3.3 KiB
Plaintext
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("")
|
|
|