xpmgr/BuildTools/Include/activprof.idl

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("")