mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2024-09-13 09:17:20 -07:00
Rebase against 4c6aa8b2fa1678c39aa5a89d9b26cfc4002e744e
This commit is contained in:
parent
ca09e8918c
commit
35a5f7db93
@ -1,732 +0,0 @@
|
||||
From 0c27598457f5abfc49d99d8bb05189a43514c522 Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Fri, 12 Jul 2019 10:34:05 +1000
|
||||
Subject: [PATCH 1/3] include: Add IDebugClient2-7 interfaces.
|
||||
|
||||
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
---
|
||||
include/dbgeng.h | 678 +++++++++++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 678 insertions(+)
|
||||
|
||||
diff --git a/include/dbgeng.h b/include/dbgeng.h
|
||||
index 0c97d2c9a7..9957e90de6 100644
|
||||
--- a/include/dbgeng.h
|
||||
+++ b/include/dbgeng.h
|
||||
@@ -24,8 +24,17 @@ extern "C" {
|
||||
|
||||
DEFINE_GUID(IID_IDebugInputCallbacks, 0x9f50e42c, 0xf136, 0x499e, 0x9a, 0x97, 0x73, 0x03, 0x6c, 0x94, 0xed, 0x2d);
|
||||
DEFINE_GUID(IID_IDebugOutputCallbacks, 0x4bf58045, 0xd654, 0x4c40, 0xb0, 0xaf, 0x68, 0x30, 0x90, 0xf3, 0x56, 0xdc);
|
||||
+DEFINE_GUID(IID_IDebugOutputCallbacksWide,0x4c7fd663, 0xc394, 0x4e26, 0x8e, 0xf1, 0x34, 0xad, 0x5e, 0xd3, 0x76, 0x4c);
|
||||
DEFINE_GUID(IID_IDebugEventCallbacks, 0x337be28b, 0x5036, 0x4d72, 0xb6, 0xbf, 0xc4, 0x5f, 0xbb, 0x9f, 0x2e, 0xaa);
|
||||
+DEFINE_GUID(IID_IDebugEventCallbacksWide, 0x0690e046, 0x9c23, 0x45ac, 0xa0, 0x4f, 0x98, 0x7a, 0xc2, 0x9a, 0xd0, 0xd3);
|
||||
+DEFINE_GUID(IID_IDebugEventContextCallbacks, 0x61a4905b, 0x23f9, 0x4247, 0xb3, 0xc5, 0x53, 0xd0, 0x87, 0x52, 0x9a, 0xb7);
|
||||
DEFINE_GUID(IID_IDebugClient, 0x27fe5639, 0x8407, 0x4f47, 0x83, 0x64, 0xee, 0x11, 0x8f, 0xb0, 0x8a, 0xc8);
|
||||
+DEFINE_GUID(IID_IDebugClient2, 0xedbed635, 0x372e, 0x4dab, 0xbb, 0xfe, 0xed, 0x0d, 0x2f, 0x63, 0xbe, 0x81);
|
||||
+DEFINE_GUID(IID_IDebugClient3, 0xdd492d7f, 0x71b8, 0x4ad6, 0xa8, 0xdc, 0x1c, 0x88, 0x74, 0x79, 0xff, 0x91);
|
||||
+DEFINE_GUID(IID_IDebugClient4, 0xca83c3de, 0x5089, 0x4cf8, 0x93, 0xc8, 0xd8, 0x92, 0x38, 0x7f, 0x2a, 0x5e);
|
||||
+DEFINE_GUID(IID_IDebugClient5, 0xe3acb9d7, 0x7ec2, 0x4f0c, 0xa0, 0xda, 0xe8, 0x1e, 0x0c, 0xbb, 0xe6, 0x28);
|
||||
+DEFINE_GUID(IID_IDebugClient6, 0xfd28b4c5, 0xc498, 0x4686, 0xa2, 0x8e, 0x62, 0xca, 0xd2, 0x15, 0x4e, 0xb3);
|
||||
+DEFINE_GUID(IID_IDebugClient7, 0x13586be3, 0x542e, 0x481e, 0xb1, 0xf2, 0x84, 0x97, 0xba, 0x74, 0xf9, 0xa9);
|
||||
DEFINE_GUID(IID_IDebugDataSpaces, 0x88f7dfab, 0x3ea7, 0x4c3a, 0xae, 0xfb, 0xc4, 0xe8, 0x10, 0x61, 0x73, 0xaa);
|
||||
DEFINE_GUID(IID_IDebugDataSpaces2, 0x7a5e852f, 0x96e9, 0x468f, 0xac, 0x1b, 0x0b, 0x3a, 0xdd, 0xc4, 0xa0, 0x49);
|
||||
DEFINE_GUID(IID_IDebugSymbols, 0x8c31e98c, 0x983a, 0x48a5, 0x90, 0x16, 0x6f, 0xe5, 0xd6, 0x67, 0xa9, 0x50);
|
||||
@@ -356,6 +365,19 @@ DECLARE_INTERFACE_(IDebugBreakpoint, IUnknown)
|
||||
};
|
||||
#undef INTERFACE
|
||||
|
||||
+#define INTERFACE IDebugBreakpoint2
|
||||
+DECLARE_INTERFACE_(IDebugBreakpoint2, IUnknown)
|
||||
+{
|
||||
+ /* IUnknown */
|
||||
+ STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **out) PURE;
|
||||
+ STDMETHOD_(ULONG, AddRef)(THIS) PURE;
|
||||
+ STDMETHOD_(ULONG, Release)(THIS) PURE;
|
||||
+ /* IDebugBreakpoint */
|
||||
+ /* FIXME */
|
||||
+};
|
||||
+#undef INTERFACE
|
||||
+
|
||||
+
|
||||
#define INTERFACE IDebugSymbolGroup
|
||||
DECLARE_INTERFACE_(IDebugSymbolGroup, IUnknown)
|
||||
{
|
||||
@@ -409,6 +431,18 @@ DECLARE_INTERFACE_(IDebugOutputCallbacks, IUnknown)
|
||||
};
|
||||
#undef INTERFACE
|
||||
|
||||
+#define INTERFACE IDebugOutputCallbacksWide
|
||||
+DECLARE_INTERFACE_(IDebugOutputCallbacksWide, IUnknown)
|
||||
+{
|
||||
+ /* IUnknown */
|
||||
+ STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **out) PURE;
|
||||
+ STDMETHOD_(ULONG, AddRef)(THIS) PURE;
|
||||
+ STDMETHOD_(ULONG, Release)(THIS) PURE;
|
||||
+ /* IDebugOutputCallbacksWide */
|
||||
+ STDMETHOD(Output)(THIS_ ULONG mask, const WCHAR *text) PURE;
|
||||
+};
|
||||
+#undef INTERFACE
|
||||
+
|
||||
#ifdef WINE_NO_UNICODE_MACROS
|
||||
#undef CreateProcess
|
||||
#endif
|
||||
@@ -441,6 +475,65 @@ DECLARE_INTERFACE_(IDebugEventCallbacks, IUnknown)
|
||||
};
|
||||
#undef INTERFACE
|
||||
|
||||
+#define INTERFACE IDebugEventCallbacksWide
|
||||
+DECLARE_INTERFACE_(IDebugEventCallbacksWide, IUnknown)
|
||||
+{
|
||||
+ /* IUnknown */
|
||||
+ STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **out) PURE;
|
||||
+ STDMETHOD_(ULONG, AddRef)(THIS) PURE;
|
||||
+ STDMETHOD_(ULONG, Release)(THIS) PURE;
|
||||
+
|
||||
+ /* IDebugEventCallbacksWide */
|
||||
+ STDMETHOD(GetInterestMask)(THIS_ ULONG *mask) PURE;
|
||||
+ STDMETHOD(Breakpoint)(THIS_ PDEBUG_BREAKPOINT breakpoint) PURE;
|
||||
+ STDMETHOD(Exception)(THIS_ EXCEPTION_RECORD64 *exception, ULONG first_chance) PURE;
|
||||
+ STDMETHOD(CreateThread)(THIS_ ULONG64 handle, ULONG64 data_offset, ULONG64 start_offset) PURE;
|
||||
+ STDMETHOD(ExitThread)(THIS_ ULONG exit_code) PURE;
|
||||
+ STDMETHOD(CreateProcess)(THIS_ ULONG64 image_handle, ULONG64 handle, ULONG64 base_offset, ULONG module_size,
|
||||
+ const WCHAR *module_name, const WCHAR *image_name, ULONG checksum, ULONG timedatestamp,
|
||||
+ ULONG64 initial_thread_handle, ULONG64 thread_data_offset, ULONG64 start_offset) PURE;
|
||||
+ STDMETHOD(ExitProcess)(THIS_ ULONG exit_code) PURE;
|
||||
+ STDMETHOD(LoadModule)(THIS_ ULONG64 image_handle, ULONG64 base_offset, ULONG module_size, const WCHAR *module_name,
|
||||
+ const WCHAR *image_name, ULONG checksum, ULONG timedatestamp) PURE;
|
||||
+ STDMETHOD(UnloadModule)(THIS_ const WCHAR *image_basename, ULONG64 base_offset) PURE;
|
||||
+ STDMETHOD(SystemError)(THIS_ ULONG error, ULONG level) PURE;
|
||||
+ STDMETHOD(SessionStatus)(THIS_ ULONG status) PURE;
|
||||
+ STDMETHOD(ChangeDebuggeeState)(THIS_ ULONG flags, ULONG64 argument) PURE;
|
||||
+ STDMETHOD(ChangeEngineState)(THIS_ ULONG flags, ULONG64 argument) PURE;
|
||||
+ STDMETHOD(ChangeSymbolState)(THIS_ ULONG flags, ULONG64 argument) PURE;
|
||||
+};
|
||||
+#undef INTERFACE
|
||||
+
|
||||
+#define INTERFACE IDebugEventContextCallbacks
|
||||
+DECLARE_INTERFACE_(IDebugEventContextCallbacks, IUnknown)
|
||||
+{
|
||||
+ /* IUnknown */
|
||||
+ STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **out) PURE;
|
||||
+ STDMETHOD_(ULONG, AddRef)(THIS) PURE;
|
||||
+ STDMETHOD_(ULONG, Release)(THIS) PURE;
|
||||
+
|
||||
+ /* IDebugEventContextCallbacks */
|
||||
+ STDMETHOD(GetInterestMask)(THIS_ ULONG *mask) PURE;
|
||||
+ STDMETHOD(Breakpoint)(THIS_ IDebugBreakpoint2 *bp, void *context, ULONG size) PURE;
|
||||
+ STDMETHOD(Exception)(THIS_ EXCEPTION_RECORD64 *exception, ULONG firstchance, void *context, ULONG size) PURE;
|
||||
+ STDMETHOD(CreateThread)(THIS_ ULONG64 handle, ULONG64 data_offset, ULONG64 start_offset, void *context, ULONG size) PURE;
|
||||
+ STDMETHOD(ExitThread)(THIS_ ULONG exitcode, void *context, ULONG size) PURE;
|
||||
+
|
||||
+ STDMETHOD(CreateProcess)(THIS_ ULONG64 image_handle, ULONG64 handle, ULONG64 baseoffset, ULONG module_size,
|
||||
+ const WCHAR *module_name, const WCHAR image_name, ULONG checksum, ULONG timestamp, ULONG64 initial,
|
||||
+ ULONG64 thread_offset, ULONG64 start_offset, void *context, ULONG size) PURE;
|
||||
+ STDMETHOD(ExitProcess)(THIS_ ULONG exitcode, void *context, ULONG size) PURE;
|
||||
+ STDMETHOD(LoadModule)(THIS_ ULONG64 image_handle, ULONG64 baseoffset, ULONG module_size, const WCHAR *module_name,
|
||||
+ const WCHAR *image_name, ULONG checksum, ULONG timestamp, void *context, ULONG size) PURE;
|
||||
+ STDMETHOD(UnloadModule)(THIS_ const WCHAR *image_name, ULONG64 offset, void *context, ULONG size) PURE;
|
||||
+ STDMETHOD(SystemError)(THIS_ ULONG error, ULONG level, void *context, ULONG size) PURE;
|
||||
+ STDMETHOD(SessionStatus)(THIS_ ULONG status) PURE;
|
||||
+ STDMETHOD(ChangeDebuggeeState)(THIS_ ULONG flags, ULONG64 argument, void *context, ULONG size) PURE;
|
||||
+ STDMETHOD(ChangeEngineState)(THIS_ ULONG flags, ULONG64 argument, void *context, ULONG size) PURE;
|
||||
+ STDMETHOD(ChangeSymbolState)(THIS_ ULONG flags, ULONG64 argument) PURE;
|
||||
+};
|
||||
+#undef INTERFACE
|
||||
+
|
||||
#define INTERFACE IDebugClient
|
||||
DECLARE_INTERFACE_(IDebugClient, IUnknown)
|
||||
{
|
||||
@@ -501,6 +594,591 @@ DECLARE_INTERFACE_(IDebugClient, IUnknown)
|
||||
};
|
||||
#undef INTERFACE
|
||||
|
||||
+#define INTERFACE IDebugClient2
|
||||
+DECLARE_INTERFACE_(IDebugClient2, IUnknown)
|
||||
+{
|
||||
+ /* IUnknown */
|
||||
+ STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **out) PURE;
|
||||
+ STDMETHOD_(ULONG, AddRef)(THIS) PURE;
|
||||
+ STDMETHOD_(ULONG, Release)(THIS) PURE;
|
||||
+ /* IDebugClient */
|
||||
+ STDMETHOD(AttachKernel)(THIS_ ULONG flags, const char *options) PURE;
|
||||
+ STDMETHOD(GetKernelConnectionOptions)(THIS_ char *buffer, ULONG buffer_size, ULONG *options_size) PURE;
|
||||
+ STDMETHOD(SetKernelConnectionOptions)(THIS_ const char *options) PURE;
|
||||
+ STDMETHOD(StartProcessServer)(THIS_ ULONG flags, const char *options, void *reserved) PURE;
|
||||
+ STDMETHOD(ConnectProcessServer)(THIS_ const char *remote_options, ULONG64 *server) PURE;
|
||||
+ STDMETHOD(DisconnectProcessServer)(THIS_ ULONG64 server) PURE;
|
||||
+ STDMETHOD(GetRunningProcessSystemIds)(THIS_ ULONG64 server, ULONG *ids, ULONG count, ULONG *actual_count) PURE;
|
||||
+ STDMETHOD(GetRunningProcessSystemIdByExecutableName)(THIS_ ULONG64 server, const char *exe_name,
|
||||
+ ULONG flags, ULONG *id) PURE;
|
||||
+ STDMETHOD(GetRunningProcessDescription)(THIS_ ULONG64 server, ULONG systemid, ULONG flags, char *exe_name,
|
||||
+ ULONG exe_name_size, ULONG *actual_exe_name_size, char *description, ULONG description_size,
|
||||
+ ULONG *actual_description_size) PURE;
|
||||
+ STDMETHOD(AttachProcess)(THIS_ ULONG64 server, ULONG pid, ULONG flags) PURE;
|
||||
+ STDMETHOD(CreateProcess)(THIS_ ULONG64 server, char *cmdline, ULONG flags) PURE;
|
||||
+ STDMETHOD(CreateProcessAndAttach)(THIS_ ULONG64 server, char *cmdline, ULONG create_flags,
|
||||
+ ULONG pid, ULONG attach_flags) PURE;
|
||||
+ STDMETHOD(GetProcessOptions)(THIS_ ULONG *options) PURE;
|
||||
+ STDMETHOD(AddProcessOptions)(THIS_ ULONG options) PURE;
|
||||
+ STDMETHOD(RemoveProcessOptions)(THIS_ ULONG options) PURE;
|
||||
+ STDMETHOD(SetProcessOptions)(THIS_ ULONG options) PURE;
|
||||
+ STDMETHOD(OpenDumpFile)(THIS_ const char *filename) PURE;
|
||||
+ STDMETHOD(WriteDumpFile)(THIS_ const char *filename, ULONG qualifier) PURE;
|
||||
+ STDMETHOD(ConnectSession)(THIS_ ULONG flags, ULONG history_limit) PURE;
|
||||
+ STDMETHOD(StartServer)(THIS_ const char *options) PURE;
|
||||
+ STDMETHOD(OutputServers)(THIS_ ULONG output_control, const char *machine, ULONG flags) PURE;
|
||||
+ STDMETHOD(TerminateProcesses)(THIS) PURE;
|
||||
+ STDMETHOD(DetachProcesses)(THIS) PURE;
|
||||
+ STDMETHOD(EndSession)(THIS_ ULONG flags) PURE;
|
||||
+ STDMETHOD(GetExitCode)(THIS_ ULONG *code) PURE;
|
||||
+ STDMETHOD(DispatchCallbacks)(THIS_ ULONG timeout) PURE;
|
||||
+ STDMETHOD(ExitDispatch)(THIS_ IDebugClient *client) PURE;
|
||||
+ STDMETHOD(CreateClient)(THIS_ IDebugClient **client) PURE;
|
||||
+ STDMETHOD(GetInputCallbacks)(THIS_ IDebugInputCallbacks **callbacks) PURE;
|
||||
+ STDMETHOD(SetInputCallbacks)(THIS_ IDebugInputCallbacks *callbacks) PURE;
|
||||
+ STDMETHOD(GetOutputCallbacks)(THIS_ IDebugOutputCallbacks **callbacks) PURE;
|
||||
+ STDMETHOD(SetOutputCallbacks)(THIS_ IDebugOutputCallbacks *callbacks) PURE;
|
||||
+ STDMETHOD(GetOutputMask)(THIS_ ULONG *mask) PURE;
|
||||
+ STDMETHOD(SetOutputMask)(THIS_ ULONG mask) PURE;
|
||||
+ STDMETHOD(GetOtherOutputMask)(THIS_ IDebugClient *client, ULONG *mask) PURE;
|
||||
+ STDMETHOD(SetOtherOutputMask)(THIS_ IDebugClient *client, ULONG mask) PURE;
|
||||
+ STDMETHOD(GetOutputWidth)(THIS_ ULONG *columns) PURE;
|
||||
+ STDMETHOD(SetOutputWidth)(THIS_ ULONG columns) PURE;
|
||||
+ STDMETHOD(GetOutputLinePrefix)(THIS_ char *buffer, ULONG buffer_size, ULONG *prefix_size) PURE;
|
||||
+ STDMETHOD(SetOutputLinePrefix)(THIS_ const char *prefix) PURE;
|
||||
+ STDMETHOD(GetIdentity)(THIS_ char *buffer, ULONG buffer_size, ULONG *identity_size) PURE;
|
||||
+ STDMETHOD(OutputIdentity)(THIS_ ULONG output_control, ULONG flags, const char *format) PURE;
|
||||
+ STDMETHOD(GetEventCallbacks)(THIS_ IDebugEventCallbacks **callbacks) PURE;
|
||||
+ STDMETHOD(SetEventCallbacks)(THIS_ IDebugEventCallbacks *callbacks) PURE;
|
||||
+ STDMETHOD(FlushCallbacks)(THIS) PURE;
|
||||
+ /* IDebugClient2 */
|
||||
+ STDMETHOD(WriteDumpFile2)(THIS_ const char *dumpfile, ULONG qualifier, ULONG flags, const char *comment) PURE;
|
||||
+ STDMETHOD(AddDumpInformationFile)(THIS_ const char *infofile, ULONG type) PURE;
|
||||
+ STDMETHOD(EndProcessServer)(THIS_ ULONG64 server) PURE;
|
||||
+ STDMETHOD(WaitForProcessServerEnd)(THIS_ ULONG timeout) PURE;
|
||||
+ STDMETHOD(IsKernelDebuggerEnabled)(THIS) PURE;
|
||||
+ STDMETHOD(TerminateCurrentProcess)(THIS) PURE;
|
||||
+ STDMETHOD(DetachCurrentProcess)(THIS) PURE;
|
||||
+ STDMETHOD(AbandonCurrentProcess)(THIS) PURE;
|
||||
+};
|
||||
+#undef INTERFACE
|
||||
+
|
||||
+#define INTERFACE IDebugClient3
|
||||
+DECLARE_INTERFACE_(IDebugClient3, IUnknown)
|
||||
+{
|
||||
+ /* IUnknown */
|
||||
+ STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **out) PURE;
|
||||
+ STDMETHOD_(ULONG, AddRef)(THIS) PURE;
|
||||
+ STDMETHOD_(ULONG, Release)(THIS) PURE;
|
||||
+ /* IDebugClient */
|
||||
+ STDMETHOD(AttachKernel)(THIS_ ULONG flags, const char *options) PURE;
|
||||
+ STDMETHOD(GetKernelConnectionOptions)(THIS_ char *buffer, ULONG buffer_size, ULONG *options_size) PURE;
|
||||
+ STDMETHOD(SetKernelConnectionOptions)(THIS_ const char *options) PURE;
|
||||
+ STDMETHOD(StartProcessServer)(THIS_ ULONG flags, const char *options, void *reserved) PURE;
|
||||
+ STDMETHOD(ConnectProcessServer)(THIS_ const char *remote_options, ULONG64 *server) PURE;
|
||||
+ STDMETHOD(DisconnectProcessServer)(THIS_ ULONG64 server) PURE;
|
||||
+ STDMETHOD(GetRunningProcessSystemIds)(THIS_ ULONG64 server, ULONG *ids, ULONG count, ULONG *actual_count) PURE;
|
||||
+ STDMETHOD(GetRunningProcessSystemIdByExecutableName)(THIS_ ULONG64 server, const char *exe_name,
|
||||
+ ULONG flags, ULONG *id) PURE;
|
||||
+ STDMETHOD(GetRunningProcessDescription)(THIS_ ULONG64 server, ULONG systemid, ULONG flags, char *exe_name,
|
||||
+ ULONG exe_name_size, ULONG *actual_exe_name_size, char *description, ULONG description_size,
|
||||
+ ULONG *actual_description_size) PURE;
|
||||
+ STDMETHOD(AttachProcess)(THIS_ ULONG64 server, ULONG pid, ULONG flags) PURE;
|
||||
+ STDMETHOD(CreateProcess)(THIS_ ULONG64 server, char *cmdline, ULONG flags) PURE;
|
||||
+ STDMETHOD(CreateProcessAndAttach)(THIS_ ULONG64 server, char *cmdline, ULONG create_flags,
|
||||
+ ULONG pid, ULONG attach_flags) PURE;
|
||||
+ STDMETHOD(GetProcessOptions)(THIS_ ULONG *options) PURE;
|
||||
+ STDMETHOD(AddProcessOptions)(THIS_ ULONG options) PURE;
|
||||
+ STDMETHOD(RemoveProcessOptions)(THIS_ ULONG options) PURE;
|
||||
+ STDMETHOD(SetProcessOptions)(THIS_ ULONG options) PURE;
|
||||
+ STDMETHOD(OpenDumpFile)(THIS_ const char *filename) PURE;
|
||||
+ STDMETHOD(WriteDumpFile)(THIS_ const char *filename, ULONG qualifier) PURE;
|
||||
+ STDMETHOD(ConnectSession)(THIS_ ULONG flags, ULONG history_limit) PURE;
|
||||
+ STDMETHOD(StartServer)(THIS_ const char *options) PURE;
|
||||
+ STDMETHOD(OutputServers)(THIS_ ULONG output_control, const char *machine, ULONG flags) PURE;
|
||||
+ STDMETHOD(TerminateProcesses)(THIS) PURE;
|
||||
+ STDMETHOD(DetachProcesses)(THIS) PURE;
|
||||
+ STDMETHOD(EndSession)(THIS_ ULONG flags) PURE;
|
||||
+ STDMETHOD(GetExitCode)(THIS_ ULONG *code) PURE;
|
||||
+ STDMETHOD(DispatchCallbacks)(THIS_ ULONG timeout) PURE;
|
||||
+ STDMETHOD(ExitDispatch)(THIS_ IDebugClient *client) PURE;
|
||||
+ STDMETHOD(CreateClient)(THIS_ IDebugClient **client) PURE;
|
||||
+ STDMETHOD(GetInputCallbacks)(THIS_ IDebugInputCallbacks **callbacks) PURE;
|
||||
+ STDMETHOD(SetInputCallbacks)(THIS_ IDebugInputCallbacks *callbacks) PURE;
|
||||
+ STDMETHOD(GetOutputCallbacks)(THIS_ IDebugOutputCallbacks **callbacks) PURE;
|
||||
+ STDMETHOD(SetOutputCallbacks)(THIS_ IDebugOutputCallbacks *callbacks) PURE;
|
||||
+ STDMETHOD(GetOutputMask)(THIS_ ULONG *mask) PURE;
|
||||
+ STDMETHOD(SetOutputMask)(THIS_ ULONG mask) PURE;
|
||||
+ STDMETHOD(GetOtherOutputMask)(THIS_ IDebugClient *client, ULONG *mask) PURE;
|
||||
+ STDMETHOD(SetOtherOutputMask)(THIS_ IDebugClient *client, ULONG mask) PURE;
|
||||
+ STDMETHOD(GetOutputWidth)(THIS_ ULONG *columns) PURE;
|
||||
+ STDMETHOD(SetOutputWidth)(THIS_ ULONG columns) PURE;
|
||||
+ STDMETHOD(GetOutputLinePrefix)(THIS_ char *buffer, ULONG buffer_size, ULONG *prefix_size) PURE;
|
||||
+ STDMETHOD(SetOutputLinePrefix)(THIS_ const char *prefix) PURE;
|
||||
+ STDMETHOD(GetIdentity)(THIS_ char *buffer, ULONG buffer_size, ULONG *identity_size) PURE;
|
||||
+ STDMETHOD(OutputIdentity)(THIS_ ULONG output_control, ULONG flags, const char *format) PURE;
|
||||
+ STDMETHOD(GetEventCallbacks)(THIS_ IDebugEventCallbacks **callbacks) PURE;
|
||||
+ STDMETHOD(SetEventCallbacks)(THIS_ IDebugEventCallbacks *callbacks) PURE;
|
||||
+ STDMETHOD(FlushCallbacks)(THIS) PURE;
|
||||
+ /* IDebugClient2 */
|
||||
+ STDMETHOD(WriteDumpFile2)(THIS_ const char *dumpfile, ULONG qualifier, ULONG flags, const char *comment) PURE;
|
||||
+ STDMETHOD(AddDumpInformationFile)(THIS_ const char *infofile, ULONG type) PURE;
|
||||
+ STDMETHOD(EndProcessServer)(THIS_ ULONG64 server) PURE;
|
||||
+ STDMETHOD(WaitForProcessServerEnd)(THIS_ ULONG timeout) PURE;
|
||||
+ STDMETHOD(IsKernelDebuggerEnabled)(THIS) PURE;
|
||||
+ STDMETHOD(TerminateCurrentProcess)(THIS) PURE;
|
||||
+ STDMETHOD(DetachCurrentProcess)(THIS) PURE;
|
||||
+ STDMETHOD(AbandonCurrentProcess)(THIS) PURE;
|
||||
+ /* IDebugClient3 */
|
||||
+ STDMETHOD(GetRunningProcessSystemIdByExecutableNameWide)(THIS_ ULONG64 server, const WCHAR *exename, ULONG flags, ULONG *id) PURE;
|
||||
+ STDMETHOD(GetRunningProcessDescriptionWide)(THIS_ ULONG64 server, ULONG id, ULONG flags, WCHAR *exename, ULONG size,
|
||||
+ ULONG *actualsize, WCHAR *description, ULONG desc_size, ULONG *actual_descr_size) PURE;
|
||||
+ STDMETHOD(CreateProcessWide)(THIS_ ULONG64 server, WCHAR *CommandLine, ULONG flags) PURE;
|
||||
+ STDMETHOD(CreateProcessAndAttachWide)(THIS_ ULONG64 server, WCHAR *commandline, ULONG flags,
|
||||
+ ULONG processid,ULONG attachflags) PURE;
|
||||
+};
|
||||
+#undef INTERFACE
|
||||
+
|
||||
+#define INTERFACE IDebugClient4
|
||||
+DECLARE_INTERFACE_(IDebugClient4, IUnknown)
|
||||
+{
|
||||
+ /* IUnknown */
|
||||
+ STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **out) PURE;
|
||||
+ STDMETHOD_(ULONG, AddRef)(THIS) PURE;
|
||||
+ STDMETHOD_(ULONG, Release)(THIS) PURE;
|
||||
+ /* IDebugClient */
|
||||
+ STDMETHOD(AttachKernel)(THIS_ ULONG flags, const char *options) PURE;
|
||||
+ STDMETHOD(GetKernelConnectionOptions)(THIS_ char *buffer, ULONG buffer_size, ULONG *options_size) PURE;
|
||||
+ STDMETHOD(SetKernelConnectionOptions)(THIS_ const char *options) PURE;
|
||||
+ STDMETHOD(StartProcessServer)(THIS_ ULONG flags, const char *options, void *reserved) PURE;
|
||||
+ STDMETHOD(ConnectProcessServer)(THIS_ const char *remote_options, ULONG64 *server) PURE;
|
||||
+ STDMETHOD(DisconnectProcessServer)(THIS_ ULONG64 server) PURE;
|
||||
+ STDMETHOD(GetRunningProcessSystemIds)(THIS_ ULONG64 server, ULONG *ids, ULONG count, ULONG *actual_count) PURE;
|
||||
+ STDMETHOD(GetRunningProcessSystemIdByExecutableName)(THIS_ ULONG64 server, const char *exe_name,
|
||||
+ ULONG flags, ULONG *id) PURE;
|
||||
+ STDMETHOD(GetRunningProcessDescription)(THIS_ ULONG64 server, ULONG systemid, ULONG flags, char *exe_name,
|
||||
+ ULONG exe_name_size, ULONG *actual_exe_name_size, char *description, ULONG description_size,
|
||||
+ ULONG *actual_description_size) PURE;
|
||||
+ STDMETHOD(AttachProcess)(THIS_ ULONG64 server, ULONG pid, ULONG flags) PURE;
|
||||
+ STDMETHOD(CreateProcess)(THIS_ ULONG64 server, char *cmdline, ULONG flags) PURE;
|
||||
+ STDMETHOD(CreateProcessAndAttach)(THIS_ ULONG64 server, char *cmdline, ULONG create_flags,
|
||||
+ ULONG pid, ULONG attach_flags) PURE;
|
||||
+ STDMETHOD(GetProcessOptions)(THIS_ ULONG *options) PURE;
|
||||
+ STDMETHOD(AddProcessOptions)(THIS_ ULONG options) PURE;
|
||||
+ STDMETHOD(RemoveProcessOptions)(THIS_ ULONG options) PURE;
|
||||
+ STDMETHOD(SetProcessOptions)(THIS_ ULONG options) PURE;
|
||||
+ STDMETHOD(OpenDumpFile)(THIS_ const char *filename) PURE;
|
||||
+ STDMETHOD(WriteDumpFile)(THIS_ const char *filename, ULONG qualifier) PURE;
|
||||
+ STDMETHOD(ConnectSession)(THIS_ ULONG flags, ULONG history_limit) PURE;
|
||||
+ STDMETHOD(StartServer)(THIS_ const char *options) PURE;
|
||||
+ STDMETHOD(OutputServers)(THIS_ ULONG output_control, const char *machine, ULONG flags) PURE;
|
||||
+ STDMETHOD(TerminateProcesses)(THIS) PURE;
|
||||
+ STDMETHOD(DetachProcesses)(THIS) PURE;
|
||||
+ STDMETHOD(EndSession)(THIS_ ULONG flags) PURE;
|
||||
+ STDMETHOD(GetExitCode)(THIS_ ULONG *code) PURE;
|
||||
+ STDMETHOD(DispatchCallbacks)(THIS_ ULONG timeout) PURE;
|
||||
+ STDMETHOD(ExitDispatch)(THIS_ IDebugClient *client) PURE;
|
||||
+ STDMETHOD(CreateClient)(THIS_ IDebugClient **client) PURE;
|
||||
+ STDMETHOD(GetInputCallbacks)(THIS_ IDebugInputCallbacks **callbacks) PURE;
|
||||
+ STDMETHOD(SetInputCallbacks)(THIS_ IDebugInputCallbacks *callbacks) PURE;
|
||||
+ STDMETHOD(GetOutputCallbacks)(THIS_ IDebugOutputCallbacks **callbacks) PURE;
|
||||
+ STDMETHOD(SetOutputCallbacks)(THIS_ IDebugOutputCallbacks *callbacks) PURE;
|
||||
+ STDMETHOD(GetOutputMask)(THIS_ ULONG *mask) PURE;
|
||||
+ STDMETHOD(SetOutputMask)(THIS_ ULONG mask) PURE;
|
||||
+ STDMETHOD(GetOtherOutputMask)(THIS_ IDebugClient *client, ULONG *mask) PURE;
|
||||
+ STDMETHOD(SetOtherOutputMask)(THIS_ IDebugClient *client, ULONG mask) PURE;
|
||||
+ STDMETHOD(GetOutputWidth)(THIS_ ULONG *columns) PURE;
|
||||
+ STDMETHOD(SetOutputWidth)(THIS_ ULONG columns) PURE;
|
||||
+ STDMETHOD(GetOutputLinePrefix)(THIS_ char *buffer, ULONG buffer_size, ULONG *prefix_size) PURE;
|
||||
+ STDMETHOD(SetOutputLinePrefix)(THIS_ const char *prefix) PURE;
|
||||
+ STDMETHOD(GetIdentity)(THIS_ char *buffer, ULONG buffer_size, ULONG *identity_size) PURE;
|
||||
+ STDMETHOD(OutputIdentity)(THIS_ ULONG output_control, ULONG flags, const char *format) PURE;
|
||||
+ STDMETHOD(GetEventCallbacks)(THIS_ IDebugEventCallbacks **callbacks) PURE;
|
||||
+ STDMETHOD(SetEventCallbacks)(THIS_ IDebugEventCallbacks *callbacks) PURE;
|
||||
+ STDMETHOD(FlushCallbacks)(THIS) PURE;
|
||||
+ /* IDebugClient2 */
|
||||
+ STDMETHOD(WriteDumpFile2)(THIS_ const char *dumpfile, ULONG qualifier, ULONG flags, const char *comment) PURE;
|
||||
+ STDMETHOD(AddDumpInformationFile)(THIS_ const char *infofile, ULONG type) PURE;
|
||||
+ STDMETHOD(EndProcessServer)(THIS_ ULONG64 server) PURE;
|
||||
+ STDMETHOD(WaitForProcessServerEnd)(THIS_ ULONG timeout) PURE;
|
||||
+ STDMETHOD(IsKernelDebuggerEnabled)(THIS) PURE;
|
||||
+ STDMETHOD(TerminateCurrentProcess)(THIS) PURE;
|
||||
+ STDMETHOD(DetachCurrentProcess)(THIS) PURE;
|
||||
+ STDMETHOD(AbandonCurrentProcess)(THIS) PURE;
|
||||
+ /* IDebugClient3 */
|
||||
+ STDMETHOD(GetRunningProcessSystemIdByExecutableNameWide)(THIS_ ULONG64 server, const WCHAR *exename, ULONG flags, ULONG *id) PURE;
|
||||
+ STDMETHOD(GetRunningProcessDescriptionWide)(THIS_ ULONG64 server, ULONG id, ULONG flags, WCHAR *exename, ULONG size,
|
||||
+ ULONG *actualsize, WCHAR *description, ULONG desc_size, ULONG *actual_descr_size) PURE;
|
||||
+ STDMETHOD(CreateProcessWide)(THIS_ ULONG64 server, WCHAR *CommandLine, ULONG flags) PURE;
|
||||
+ STDMETHOD(CreateProcessAndAttachWide)(THIS_ ULONG64 server, WCHAR *commandline, ULONG flags,
|
||||
+ ULONG processid,ULONG attachflags) PURE;
|
||||
+ /* IDebugClient4 */
|
||||
+ STDMETHOD(OpenDumpFileWide)(THIS_ const WCHAR *filename, ULONG64 handle) PURE;
|
||||
+ STDMETHOD(WriteDumpFileWide)(THIS_ const WCHAR *filename, ULONG64 handle, ULONG qualifier, ULONG Flags, const WCHAR *comment) PURE;
|
||||
+ STDMETHOD(AddDumpInformationFileWide)(THIS_ const WCHAR *filename,ULONG64 handle, ULONG type) PURE;
|
||||
+ STDMETHOD(GetNumberDumpFiles)(THIS_ ULONG *count) PURE;
|
||||
+ STDMETHOD(GetDumpFile)(THIS_ ULONG index, char *buffer, ULONG buf_size, ULONG *name_size, ULONG64 *handle, ULONG *type) PURE;
|
||||
+ STDMETHOD(GetDumpFileWide)(THIS_ ULONG index, WCHAR *buffer, ULONG buf_size, ULONG *name_size, ULONG64 *handle,ULONG *type) PURE;
|
||||
+};
|
||||
+#undef INTERFACE
|
||||
+
|
||||
+#define INTERFACE IDebugClient5
|
||||
+DECLARE_INTERFACE_(IDebugClient5, IUnknown)
|
||||
+{
|
||||
+ /* IUnknown */
|
||||
+ STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **out) PURE;
|
||||
+ STDMETHOD_(ULONG, AddRef)(THIS) PURE;
|
||||
+ STDMETHOD_(ULONG, Release)(THIS) PURE;
|
||||
+ /* IDebugClient */
|
||||
+ STDMETHOD(AttachKernel)(THIS_ ULONG flags, const char *options) PURE;
|
||||
+ STDMETHOD(GetKernelConnectionOptions)(THIS_ char *buffer, ULONG buffer_size, ULONG *options_size) PURE;
|
||||
+ STDMETHOD(SetKernelConnectionOptions)(THIS_ const char *options) PURE;
|
||||
+ STDMETHOD(StartProcessServer)(THIS_ ULONG flags, const char *options, void *reserved) PURE;
|
||||
+ STDMETHOD(ConnectProcessServer)(THIS_ const char *remote_options, ULONG64 *server) PURE;
|
||||
+ STDMETHOD(DisconnectProcessServer)(THIS_ ULONG64 server) PURE;
|
||||
+ STDMETHOD(GetRunningProcessSystemIds)(THIS_ ULONG64 server, ULONG *ids, ULONG count, ULONG *actual_count) PURE;
|
||||
+ STDMETHOD(GetRunningProcessSystemIdByExecutableName)(THIS_ ULONG64 server, const char *exe_name,
|
||||
+ ULONG flags, ULONG *id) PURE;
|
||||
+ STDMETHOD(GetRunningProcessDescription)(THIS_ ULONG64 server, ULONG systemid, ULONG flags, char *exe_name,
|
||||
+ ULONG exe_name_size, ULONG *actual_exe_name_size, char *description, ULONG description_size,
|
||||
+ ULONG *actual_description_size) PURE;
|
||||
+ STDMETHOD(AttachProcess)(THIS_ ULONG64 server, ULONG pid, ULONG flags) PURE;
|
||||
+ STDMETHOD(CreateProcess)(THIS_ ULONG64 server, char *cmdline, ULONG flags) PURE;
|
||||
+ STDMETHOD(CreateProcessAndAttach)(THIS_ ULONG64 server, char *cmdline, ULONG create_flags,
|
||||
+ ULONG pid, ULONG attach_flags) PURE;
|
||||
+ STDMETHOD(GetProcessOptions)(THIS_ ULONG *options) PURE;
|
||||
+ STDMETHOD(AddProcessOptions)(THIS_ ULONG options) PURE;
|
||||
+ STDMETHOD(RemoveProcessOptions)(THIS_ ULONG options) PURE;
|
||||
+ STDMETHOD(SetProcessOptions)(THIS_ ULONG options) PURE;
|
||||
+ STDMETHOD(OpenDumpFile)(THIS_ const char *filename) PURE;
|
||||
+ STDMETHOD(WriteDumpFile)(THIS_ const char *filename, ULONG qualifier) PURE;
|
||||
+ STDMETHOD(ConnectSession)(THIS_ ULONG flags, ULONG history_limit) PURE;
|
||||
+ STDMETHOD(StartServer)(THIS_ const char *options) PURE;
|
||||
+ STDMETHOD(OutputServers)(THIS_ ULONG output_control, const char *machine, ULONG flags) PURE;
|
||||
+ STDMETHOD(TerminateProcesses)(THIS) PURE;
|
||||
+ STDMETHOD(DetachProcesses)(THIS) PURE;
|
||||
+ STDMETHOD(EndSession)(THIS_ ULONG flags) PURE;
|
||||
+ STDMETHOD(GetExitCode)(THIS_ ULONG *code) PURE;
|
||||
+ STDMETHOD(DispatchCallbacks)(THIS_ ULONG timeout) PURE;
|
||||
+ STDMETHOD(ExitDispatch)(THIS_ IDebugClient *client) PURE;
|
||||
+ STDMETHOD(CreateClient)(THIS_ IDebugClient **client) PURE;
|
||||
+ STDMETHOD(GetInputCallbacks)(THIS_ IDebugInputCallbacks **callbacks) PURE;
|
||||
+ STDMETHOD(SetInputCallbacks)(THIS_ IDebugInputCallbacks *callbacks) PURE;
|
||||
+ STDMETHOD(GetOutputCallbacks)(THIS_ IDebugOutputCallbacks **callbacks) PURE;
|
||||
+ STDMETHOD(SetOutputCallbacks)(THIS_ IDebugOutputCallbacks *callbacks) PURE;
|
||||
+ STDMETHOD(GetOutputMask)(THIS_ ULONG *mask) PURE;
|
||||
+ STDMETHOD(SetOutputMask)(THIS_ ULONG mask) PURE;
|
||||
+ STDMETHOD(GetOtherOutputMask)(THIS_ IDebugClient *client, ULONG *mask) PURE;
|
||||
+ STDMETHOD(SetOtherOutputMask)(THIS_ IDebugClient *client, ULONG mask) PURE;
|
||||
+ STDMETHOD(GetOutputWidth)(THIS_ ULONG *columns) PURE;
|
||||
+ STDMETHOD(SetOutputWidth)(THIS_ ULONG columns) PURE;
|
||||
+ STDMETHOD(GetOutputLinePrefix)(THIS_ char *buffer, ULONG buffer_size, ULONG *prefix_size) PURE;
|
||||
+ STDMETHOD(SetOutputLinePrefix)(THIS_ const char *prefix) PURE;
|
||||
+ STDMETHOD(GetIdentity)(THIS_ char *buffer, ULONG buffer_size, ULONG *identity_size) PURE;
|
||||
+ STDMETHOD(OutputIdentity)(THIS_ ULONG output_control, ULONG flags, const char *format) PURE;
|
||||
+ STDMETHOD(GetEventCallbacks)(THIS_ IDebugEventCallbacks **callbacks) PURE;
|
||||
+ STDMETHOD(SetEventCallbacks)(THIS_ IDebugEventCallbacks *callbacks) PURE;
|
||||
+ STDMETHOD(FlushCallbacks)(THIS) PURE;
|
||||
+ /* IDebugClient2 */
|
||||
+ STDMETHOD(WriteDumpFile2)(THIS_ const char *dumpfile, ULONG qualifier, ULONG flags, const char *comment) PURE;
|
||||
+ STDMETHOD(AddDumpInformationFile)(THIS_ const char *infofile, ULONG type) PURE;
|
||||
+ STDMETHOD(EndProcessServer)(THIS_ ULONG64 server) PURE;
|
||||
+ STDMETHOD(WaitForProcessServerEnd)(THIS_ ULONG timeout) PURE;
|
||||
+ STDMETHOD(IsKernelDebuggerEnabled)(THIS) PURE;
|
||||
+ STDMETHOD(TerminateCurrentProcess)(THIS) PURE;
|
||||
+ STDMETHOD(DetachCurrentProcess)(THIS) PURE;
|
||||
+ STDMETHOD(AbandonCurrentProcess)(THIS) PURE;
|
||||
+ /* IDebugClient3 */
|
||||
+ STDMETHOD(GetRunningProcessSystemIdByExecutableNameWide)(THIS_ ULONG64 server, const WCHAR *exename, ULONG flags, ULONG *id) PURE;
|
||||
+ STDMETHOD(GetRunningProcessDescriptionWide)(THIS_ ULONG64 server, ULONG id, ULONG flags, WCHAR *exename, ULONG size,
|
||||
+ ULONG *actualsize, WCHAR *description, ULONG desc_size, ULONG *actual_descr_size) PURE;
|
||||
+ STDMETHOD(CreateProcessWide)(THIS_ ULONG64 server, WCHAR *CommandLine, ULONG flags) PURE;
|
||||
+ STDMETHOD(CreateProcessAndAttachWide)(THIS_ ULONG64 server, WCHAR *commandline, ULONG flags,
|
||||
+ ULONG processid,ULONG attachflags) PURE;
|
||||
+ /* IDebugClient4 */
|
||||
+ STDMETHOD(OpenDumpFileWide)(THIS_ const WCHAR *filename, ULONG64 handle) PURE;
|
||||
+ STDMETHOD(WriteDumpFileWide)(THIS_ const WCHAR *filename, ULONG64 handle, ULONG qualifier, ULONG Flags, const WCHAR *comment) PURE;
|
||||
+ STDMETHOD(AddDumpInformationFileWide)(THIS_ const WCHAR *filename,ULONG64 handle, ULONG type) PURE;
|
||||
+ STDMETHOD(GetNumberDumpFiles)(THIS_ ULONG *count) PURE;
|
||||
+ STDMETHOD(GetDumpFile)(THIS_ ULONG index, char *buffer, ULONG buf_size, ULONG *name_size, ULONG64 *handle, ULONG *type) PURE;
|
||||
+ STDMETHOD(GetDumpFileWide)(THIS_ ULONG index, WCHAR *buffer, ULONG buf_size, ULONG *name_size, ULONG64 *handle,ULONG *type) PURE;
|
||||
+ /* IDebugClient5 */
|
||||
+ STDMETHOD(AttachKernelWide)(THIS_ ULONG flags, const WCHAR *options) PURE;
|
||||
+ STDMETHOD(GetKernelConnectionOptionsWide)(THIS_ WCHAR *buffer, ULONG buf_size, ULONG *size) PURE;
|
||||
+ STDMETHOD(SetKernelConnectionOptionsWide)(THIS_ const WCHAR *options) PURE;
|
||||
+ STDMETHOD(StartProcessServerWide)(THIS_ ULONG flags, const WCHAR *options, void *reserved) PURE;
|
||||
+ STDMETHOD(ConnectProcessServerWide)(THIS_ const WCHAR *options, ULONG64 *server) PURE;
|
||||
+ STDMETHOD(StartServerWide)(THIS_ const WCHAR *options) PURE;
|
||||
+ STDMETHOD(OutputServersWide)(THIS_ ULONG control, const WCHAR *machine, ULONG flags) PURE;
|
||||
+ STDMETHOD(GetOutputCallbacksWide)(THIS_ IDebugOutputCallbacksWide **callbacks) PURE;
|
||||
+ STDMETHOD(SetOutputCallbacksWide)(THIS_ IDebugOutputCallbacksWide *callbacks) PURE;
|
||||
+ STDMETHOD(GetOutputLinePrefixWide)(THIS_ WCHAR *buffer, ULONG buf_size, ULONG *size) PURE;
|
||||
+ STDMETHOD(SetOutputLinePrefixWide)(THIS_ const WCHAR *prefix) PURE;
|
||||
+ STDMETHOD(GetIdentityWide)(THIS_ WCHAR *buffer, ULONG buf_size, ULONG *identity) PURE;
|
||||
+ STDMETHOD(OutputIdentityWide)(THIS_ ULONG control, ULONG flags, const WCHAR *format) PURE;
|
||||
+ STDMETHOD(GetEventCallbacksWide)(THIS_ IDebugEventCallbacksWide **callbacks) PURE;
|
||||
+ STDMETHOD(SetEventCallbacksWide)(THIS_ IDebugEventCallbacksWide *callbacks) PURE;
|
||||
+ STDMETHOD(CreateProcess2)(THIS_ ULONG64 server, char *command, void *options, ULONG buf_size,
|
||||
+ const char *initial, const char *environment) PURE;
|
||||
+ STDMETHOD(CreateProcess2Wide)(THIS_ ULONG64 server, WCHAR *command, void *options, ULONG size,
|
||||
+ const WCHAR *initial, const WCHAR *environment) PURE;
|
||||
+ STDMETHOD(CreateProcessAndAttach2)(THIS_ ULONG64 server, char *command, void *options, ULONG buf_size,
|
||||
+ const char *initial, const char *environment, ULONG processid, ULONG flags) PURE;
|
||||
+ STDMETHOD(CreateProcessAndAttach2Wide)(THIS_ ULONG64 server, WCHAR *command, void *buffer, ULONG buf_size,
|
||||
+ const WCHAR *initial, const WCHAR *environment, ULONG processid, ULONG flags) PURE;
|
||||
+ STDMETHOD(PushOutputLinePrefix)(THIS_ const char *prefix, ULONG64 *handle) PURE;
|
||||
+ STDMETHOD(PushOutputLinePrefixWide)(THIS_ const WCHAR *prefix, ULONG64 *handle) PURE;
|
||||
+ STDMETHOD(PopOutputLinePrefix)(THIS_ ULONG64 handle) PURE;
|
||||
+ STDMETHOD(GetNumberInputCallbacks)(THIS_ ULONG *count) PURE;
|
||||
+ STDMETHOD(GetNumberOutputCallbacks)(THIS_ ULONG *count) PURE;
|
||||
+ STDMETHOD(GetNumberEventCallbacks)(THIS_ ULONG flags, ULONG *count) PURE;
|
||||
+ STDMETHOD(GetQuitLockString)(THIS_ char *buffer, ULONG buf_size, ULONG *size) PURE;
|
||||
+ STDMETHOD(SetQuitLockString)(THIS_ char *string) PURE;
|
||||
+ STDMETHOD(GetQuitLockStringWide)(THIS_ WCHAR *buffer, ULONG buf_size, ULONG *size) PURE;
|
||||
+ STDMETHOD(SetQuitLockStringWide)(THIS_ const WCHAR *string) PURE;
|
||||
+};
|
||||
+#undef INTERFACE
|
||||
+
|
||||
+#define INTERFACE IDebugClient6
|
||||
+DECLARE_INTERFACE_(IDebugClient6, IUnknown)
|
||||
+{
|
||||
+ /* IUnknown */
|
||||
+ STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **out) PURE;
|
||||
+ STDMETHOD_(ULONG, AddRef)(THIS) PURE;
|
||||
+ STDMETHOD_(ULONG, Release)(THIS) PURE;
|
||||
+ /* IDebugClient */
|
||||
+ STDMETHOD(AttachKernel)(THIS_ ULONG flags, const char *options) PURE;
|
||||
+ STDMETHOD(GetKernelConnectionOptions)(THIS_ char *buffer, ULONG buffer_size, ULONG *options_size) PURE;
|
||||
+ STDMETHOD(SetKernelConnectionOptions)(THIS_ const char *options) PURE;
|
||||
+ STDMETHOD(StartProcessServer)(THIS_ ULONG flags, const char *options, void *reserved) PURE;
|
||||
+ STDMETHOD(ConnectProcessServer)(THIS_ const char *remote_options, ULONG64 *server) PURE;
|
||||
+ STDMETHOD(DisconnectProcessServer)(THIS_ ULONG64 server) PURE;
|
||||
+ STDMETHOD(GetRunningProcessSystemIds)(THIS_ ULONG64 server, ULONG *ids, ULONG count, ULONG *actual_count) PURE;
|
||||
+ STDMETHOD(GetRunningProcessSystemIdByExecutableName)(THIS_ ULONG64 server, const char *exe_name,
|
||||
+ ULONG flags, ULONG *id) PURE;
|
||||
+ STDMETHOD(GetRunningProcessDescription)(THIS_ ULONG64 server, ULONG systemid, ULONG flags, char *exe_name,
|
||||
+ ULONG exe_name_size, ULONG *actual_exe_name_size, char *description, ULONG description_size,
|
||||
+ ULONG *actual_description_size) PURE;
|
||||
+ STDMETHOD(AttachProcess)(THIS_ ULONG64 server, ULONG pid, ULONG flags) PURE;
|
||||
+ STDMETHOD(CreateProcess)(THIS_ ULONG64 server, char *cmdline, ULONG flags) PURE;
|
||||
+ STDMETHOD(CreateProcessAndAttach)(THIS_ ULONG64 server, char *cmdline, ULONG create_flags,
|
||||
+ ULONG pid, ULONG attach_flags) PURE;
|
||||
+ STDMETHOD(GetProcessOptions)(THIS_ ULONG *options) PURE;
|
||||
+ STDMETHOD(AddProcessOptions)(THIS_ ULONG options) PURE;
|
||||
+ STDMETHOD(RemoveProcessOptions)(THIS_ ULONG options) PURE;
|
||||
+ STDMETHOD(SetProcessOptions)(THIS_ ULONG options) PURE;
|
||||
+ STDMETHOD(OpenDumpFile)(THIS_ const char *filename) PURE;
|
||||
+ STDMETHOD(WriteDumpFile)(THIS_ const char *filename, ULONG qualifier) PURE;
|
||||
+ STDMETHOD(ConnectSession)(THIS_ ULONG flags, ULONG history_limit) PURE;
|
||||
+ STDMETHOD(StartServer)(THIS_ const char *options) PURE;
|
||||
+ STDMETHOD(OutputServers)(THIS_ ULONG output_control, const char *machine, ULONG flags) PURE;
|
||||
+ STDMETHOD(TerminateProcesses)(THIS) PURE;
|
||||
+ STDMETHOD(DetachProcesses)(THIS) PURE;
|
||||
+ STDMETHOD(EndSession)(THIS_ ULONG flags) PURE;
|
||||
+ STDMETHOD(GetExitCode)(THIS_ ULONG *code) PURE;
|
||||
+ STDMETHOD(DispatchCallbacks)(THIS_ ULONG timeout) PURE;
|
||||
+ STDMETHOD(ExitDispatch)(THIS_ IDebugClient *client) PURE;
|
||||
+ STDMETHOD(CreateClient)(THIS_ IDebugClient **client) PURE;
|
||||
+ STDMETHOD(GetInputCallbacks)(THIS_ IDebugInputCallbacks **callbacks) PURE;
|
||||
+ STDMETHOD(SetInputCallbacks)(THIS_ IDebugInputCallbacks *callbacks) PURE;
|
||||
+ STDMETHOD(GetOutputCallbacks)(THIS_ IDebugOutputCallbacks **callbacks) PURE;
|
||||
+ STDMETHOD(SetOutputCallbacks)(THIS_ IDebugOutputCallbacks *callbacks) PURE;
|
||||
+ STDMETHOD(GetOutputMask)(THIS_ ULONG *mask) PURE;
|
||||
+ STDMETHOD(SetOutputMask)(THIS_ ULONG mask) PURE;
|
||||
+ STDMETHOD(GetOtherOutputMask)(THIS_ IDebugClient *client, ULONG *mask) PURE;
|
||||
+ STDMETHOD(SetOtherOutputMask)(THIS_ IDebugClient *client, ULONG mask) PURE;
|
||||
+ STDMETHOD(GetOutputWidth)(THIS_ ULONG *columns) PURE;
|
||||
+ STDMETHOD(SetOutputWidth)(THIS_ ULONG columns) PURE;
|
||||
+ STDMETHOD(GetOutputLinePrefix)(THIS_ char *buffer, ULONG buffer_size, ULONG *prefix_size) PURE;
|
||||
+ STDMETHOD(SetOutputLinePrefix)(THIS_ const char *prefix) PURE;
|
||||
+ STDMETHOD(GetIdentity)(THIS_ char *buffer, ULONG buffer_size, ULONG *identity_size) PURE;
|
||||
+ STDMETHOD(OutputIdentity)(THIS_ ULONG output_control, ULONG flags, const char *format) PURE;
|
||||
+ STDMETHOD(GetEventCallbacks)(THIS_ IDebugEventCallbacks **callbacks) PURE;
|
||||
+ STDMETHOD(SetEventCallbacks)(THIS_ IDebugEventCallbacks *callbacks) PURE;
|
||||
+ STDMETHOD(FlushCallbacks)(THIS) PURE;
|
||||
+ /* IDebugClient2 */
|
||||
+ STDMETHOD(WriteDumpFile2)(THIS_ const char *dumpfile, ULONG qualifier, ULONG flags, const char *comment) PURE;
|
||||
+ STDMETHOD(AddDumpInformationFile)(THIS_ const char *infofile, ULONG type) PURE;
|
||||
+ STDMETHOD(EndProcessServer)(THIS_ ULONG64 server) PURE;
|
||||
+ STDMETHOD(WaitForProcessServerEnd)(THIS_ ULONG timeout) PURE;
|
||||
+ STDMETHOD(IsKernelDebuggerEnabled)(THIS) PURE;
|
||||
+ STDMETHOD(TerminateCurrentProcess)(THIS) PURE;
|
||||
+ STDMETHOD(DetachCurrentProcess)(THIS) PURE;
|
||||
+ STDMETHOD(AbandonCurrentProcess)(THIS) PURE;
|
||||
+ /* IDebugClient3 */
|
||||
+ STDMETHOD(GetRunningProcessSystemIdByExecutableNameWide)(THIS_ ULONG64 server, const WCHAR *exename, ULONG flags, ULONG *id) PURE;
|
||||
+ STDMETHOD(GetRunningProcessDescriptionWide)(THIS_ ULONG64 server, ULONG id, ULONG flags, WCHAR *exename, ULONG size,
|
||||
+ ULONG *actualsize, WCHAR *description, ULONG desc_size, ULONG *actual_descr_size) PURE;
|
||||
+ STDMETHOD(CreateProcessWide)(THIS_ ULONG64 server, WCHAR *CommandLine, ULONG flags) PURE;
|
||||
+ STDMETHOD(CreateProcessAndAttachWide)(THIS_ ULONG64 server, WCHAR *commandline, ULONG flags,
|
||||
+ ULONG processid,ULONG attachflags) PURE;
|
||||
+ /* IDebugClient4 */
|
||||
+ STDMETHOD(OpenDumpFileWide)(THIS_ const WCHAR *filename, ULONG64 handle) PURE;
|
||||
+ STDMETHOD(WriteDumpFileWide)(THIS_ const WCHAR *filename, ULONG64 handle, ULONG qualifier, ULONG Flags, const WCHAR *comment) PURE;
|
||||
+ STDMETHOD(AddDumpInformationFileWide)(THIS_ const WCHAR *filename,ULONG64 handle, ULONG type) PURE;
|
||||
+ STDMETHOD(GetNumberDumpFiles)(THIS_ ULONG *count) PURE;
|
||||
+ STDMETHOD(GetDumpFile)(THIS_ ULONG index, char *buffer, ULONG buf_size, ULONG *name_size, ULONG64 *handle, ULONG *type) PURE;
|
||||
+ STDMETHOD(GetDumpFileWide)(THIS_ ULONG index, WCHAR *buffer, ULONG buf_size, ULONG *name_size, ULONG64 *handle,ULONG *type) PURE;
|
||||
+ /* IDebugClient5 */
|
||||
+ STDMETHOD(AttachKernelWide)(THIS_ ULONG flags, const WCHAR *options) PURE;
|
||||
+ STDMETHOD(GetKernelConnectionOptionsWide)(THIS_ WCHAR *buffer, ULONG buf_size, ULONG *size) PURE;
|
||||
+ STDMETHOD(SetKernelConnectionOptionsWide)(THIS_ const WCHAR *options) PURE;
|
||||
+ STDMETHOD(StartProcessServerWide)(THIS_ ULONG flags, const WCHAR *options, void *reserved) PURE;
|
||||
+ STDMETHOD(ConnectProcessServerWide)(THIS_ const WCHAR *options, ULONG64 *server) PURE;
|
||||
+ STDMETHOD(StartServerWide)(THIS_ const WCHAR *options) PURE;
|
||||
+ STDMETHOD(OutputServersWide)(THIS_ ULONG control, const WCHAR *machine, ULONG flags) PURE;
|
||||
+ STDMETHOD(GetOutputCallbacksWide)(THIS_ IDebugOutputCallbacksWide **callbacks) PURE;
|
||||
+ STDMETHOD(SetOutputCallbacksWide)(THIS_ IDebugOutputCallbacksWide *callbacks) PURE;
|
||||
+ STDMETHOD(GetOutputLinePrefixWide)(THIS_ WCHAR *buffer, ULONG buf_size, ULONG *size) PURE;
|
||||
+ STDMETHOD(SetOutputLinePrefixWide)(THIS_ const WCHAR *prefix) PURE;
|
||||
+ STDMETHOD(GetIdentityWide)(THIS_ WCHAR *buffer, ULONG buf_size, ULONG *identity) PURE;
|
||||
+ STDMETHOD(OutputIdentityWide)(THIS_ ULONG control, ULONG flags, const WCHAR *format) PURE;
|
||||
+ STDMETHOD(GetEventCallbacksWide)(THIS_ IDebugEventCallbacksWide **callbacks) PURE;
|
||||
+ STDMETHOD(SetEventCallbacksWide)(THIS_ IDebugEventCallbacksWide *callbacks) PURE;
|
||||
+ STDMETHOD(CreateProcess2)(THIS_ ULONG64 server, char *command, void *options, ULONG buf_size,
|
||||
+ const char *initial, const char *environment) PURE;
|
||||
+ STDMETHOD(CreateProcess2Wide)(THIS_ ULONG64 server, WCHAR *command, void *options, ULONG size,
|
||||
+ const WCHAR *initial, const WCHAR *environment) PURE;
|
||||
+ STDMETHOD(CreateProcessAndAttach2)(THIS_ ULONG64 server, char *command, void *options, ULONG buf_size,
|
||||
+ const char *initial, const char *environment, ULONG processid, ULONG flags) PURE;
|
||||
+ STDMETHOD(CreateProcessAndAttach2Wide)(THIS_ ULONG64 server, WCHAR *command, void *buffer, ULONG buf_size,
|
||||
+ const WCHAR *initial, const WCHAR *environment, ULONG processid, ULONG flags) PURE;
|
||||
+ STDMETHOD(PushOutputLinePrefix)(THIS_ const char *prefix, ULONG64 *handle) PURE;
|
||||
+ STDMETHOD(PushOutputLinePrefixWide)(THIS_ const WCHAR *prefix, ULONG64 *handle) PURE;
|
||||
+ STDMETHOD(PopOutputLinePrefix)(THIS_ ULONG64 handle) PURE;
|
||||
+ STDMETHOD(GetNumberInputCallbacks)(THIS_ ULONG *count) PURE;
|
||||
+ STDMETHOD(GetNumberOutputCallbacks)(THIS_ ULONG *count) PURE;
|
||||
+ STDMETHOD(GetNumberEventCallbacks)(THIS_ ULONG flags, ULONG *count) PURE;
|
||||
+ STDMETHOD(GetQuitLockString)(THIS_ char *buffer, ULONG buf_size, ULONG *size) PURE;
|
||||
+ STDMETHOD(SetQuitLockString)(THIS_ char *string) PURE;
|
||||
+ STDMETHOD(GetQuitLockStringWide)(THIS_ WCHAR *buffer, ULONG buf_size, ULONG *size) PURE;
|
||||
+ STDMETHOD(SetQuitLockStringWide)(THIS_ const WCHAR *string) PURE;
|
||||
+ /* IDebugClient6 */
|
||||
+ STDMETHOD(SetEventContextCallbacks)(THIS_ IDebugEventContextCallbacks *callbacks) PURE;
|
||||
+};
|
||||
+#undef INTERFACE
|
||||
+
|
||||
+#define INTERFACE IDebugClient7
|
||||
+DECLARE_INTERFACE_(IDebugClient7, IUnknown)
|
||||
+{
|
||||
+ /* IUnknown */
|
||||
+ STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **out) PURE;
|
||||
+ STDMETHOD_(ULONG, AddRef)(THIS) PURE;
|
||||
+ STDMETHOD_(ULONG, Release)(THIS) PURE;
|
||||
+ /* IDebugClient */
|
||||
+ STDMETHOD(AttachKernel)(THIS_ ULONG flags, const char *options) PURE;
|
||||
+ STDMETHOD(GetKernelConnectionOptions)(THIS_ char *buffer, ULONG buffer_size, ULONG *options_size) PURE;
|
||||
+ STDMETHOD(SetKernelConnectionOptions)(THIS_ const char *options) PURE;
|
||||
+ STDMETHOD(StartProcessServer)(THIS_ ULONG flags, const char *options, void *reserved) PURE;
|
||||
+ STDMETHOD(ConnectProcessServer)(THIS_ const char *remote_options, ULONG64 *server) PURE;
|
||||
+ STDMETHOD(DisconnectProcessServer)(THIS_ ULONG64 server) PURE;
|
||||
+ STDMETHOD(GetRunningProcessSystemIds)(THIS_ ULONG64 server, ULONG *ids, ULONG count, ULONG *actual_count) PURE;
|
||||
+ STDMETHOD(GetRunningProcessSystemIdByExecutableName)(THIS_ ULONG64 server, const char *exe_name,
|
||||
+ ULONG flags, ULONG *id) PURE;
|
||||
+ STDMETHOD(GetRunningProcessDescription)(THIS_ ULONG64 server, ULONG systemid, ULONG flags, char *exe_name,
|
||||
+ ULONG exe_name_size, ULONG *actual_exe_name_size, char *description, ULONG description_size,
|
||||
+ ULONG *actual_description_size) PURE;
|
||||
+ STDMETHOD(AttachProcess)(THIS_ ULONG64 server, ULONG pid, ULONG flags) PURE;
|
||||
+ STDMETHOD(CreateProcess)(THIS_ ULONG64 server, char *cmdline, ULONG flags) PURE;
|
||||
+ STDMETHOD(CreateProcessAndAttach)(THIS_ ULONG64 server, char *cmdline, ULONG create_flags,
|
||||
+ ULONG pid, ULONG attach_flags) PURE;
|
||||
+ STDMETHOD(GetProcessOptions)(THIS_ ULONG *options) PURE;
|
||||
+ STDMETHOD(AddProcessOptions)(THIS_ ULONG options) PURE;
|
||||
+ STDMETHOD(RemoveProcessOptions)(THIS_ ULONG options) PURE;
|
||||
+ STDMETHOD(SetProcessOptions)(THIS_ ULONG options) PURE;
|
||||
+ STDMETHOD(OpenDumpFile)(THIS_ const char *filename) PURE;
|
||||
+ STDMETHOD(WriteDumpFile)(THIS_ const char *filename, ULONG qualifier) PURE;
|
||||
+ STDMETHOD(ConnectSession)(THIS_ ULONG flags, ULONG history_limit) PURE;
|
||||
+ STDMETHOD(StartServer)(THIS_ const char *options) PURE;
|
||||
+ STDMETHOD(OutputServers)(THIS_ ULONG output_control, const char *machine, ULONG flags) PURE;
|
||||
+ STDMETHOD(TerminateProcesses)(THIS) PURE;
|
||||
+ STDMETHOD(DetachProcesses)(THIS) PURE;
|
||||
+ STDMETHOD(EndSession)(THIS_ ULONG flags) PURE;
|
||||
+ STDMETHOD(GetExitCode)(THIS_ ULONG *code) PURE;
|
||||
+ STDMETHOD(DispatchCallbacks)(THIS_ ULONG timeout) PURE;
|
||||
+ STDMETHOD(ExitDispatch)(THIS_ IDebugClient *client) PURE;
|
||||
+ STDMETHOD(CreateClient)(THIS_ IDebugClient **client) PURE;
|
||||
+ STDMETHOD(GetInputCallbacks)(THIS_ IDebugInputCallbacks **callbacks) PURE;
|
||||
+ STDMETHOD(SetInputCallbacks)(THIS_ IDebugInputCallbacks *callbacks) PURE;
|
||||
+ STDMETHOD(GetOutputCallbacks)(THIS_ IDebugOutputCallbacks **callbacks) PURE;
|
||||
+ STDMETHOD(SetOutputCallbacks)(THIS_ IDebugOutputCallbacks *callbacks) PURE;
|
||||
+ STDMETHOD(GetOutputMask)(THIS_ ULONG *mask) PURE;
|
||||
+ STDMETHOD(SetOutputMask)(THIS_ ULONG mask) PURE;
|
||||
+ STDMETHOD(GetOtherOutputMask)(THIS_ IDebugClient *client, ULONG *mask) PURE;
|
||||
+ STDMETHOD(SetOtherOutputMask)(THIS_ IDebugClient *client, ULONG mask) PURE;
|
||||
+ STDMETHOD(GetOutputWidth)(THIS_ ULONG *columns) PURE;
|
||||
+ STDMETHOD(SetOutputWidth)(THIS_ ULONG columns) PURE;
|
||||
+ STDMETHOD(GetOutputLinePrefix)(THIS_ char *buffer, ULONG buffer_size, ULONG *prefix_size) PURE;
|
||||
+ STDMETHOD(SetOutputLinePrefix)(THIS_ const char *prefix) PURE;
|
||||
+ STDMETHOD(GetIdentity)(THIS_ char *buffer, ULONG buffer_size, ULONG *identity_size) PURE;
|
||||
+ STDMETHOD(OutputIdentity)(THIS_ ULONG output_control, ULONG flags, const char *format) PURE;
|
||||
+ STDMETHOD(GetEventCallbacks)(THIS_ IDebugEventCallbacks **callbacks) PURE;
|
||||
+ STDMETHOD(SetEventCallbacks)(THIS_ IDebugEventCallbacks *callbacks) PURE;
|
||||
+ STDMETHOD(FlushCallbacks)(THIS) PURE;
|
||||
+ /* IDebugClient2 */
|
||||
+ STDMETHOD(WriteDumpFile2)(THIS_ const char *dumpfile, ULONG qualifier, ULONG flags, const char *comment) PURE;
|
||||
+ STDMETHOD(AddDumpInformationFile)(THIS_ const char *infofile, ULONG type) PURE;
|
||||
+ STDMETHOD(EndProcessServer)(THIS_ ULONG64 server) PURE;
|
||||
+ STDMETHOD(WaitForProcessServerEnd)(THIS_ ULONG timeout) PURE;
|
||||
+ STDMETHOD(IsKernelDebuggerEnabled)(THIS) PURE;
|
||||
+ STDMETHOD(TerminateCurrentProcess)(THIS) PURE;
|
||||
+ STDMETHOD(DetachCurrentProcess)(THIS) PURE;
|
||||
+ STDMETHOD(AbandonCurrentProcess)(THIS) PURE;
|
||||
+ /* IDebugClient3 */
|
||||
+ STDMETHOD(GetRunningProcessSystemIdByExecutableNameWide)(THIS_ ULONG64 server, const WCHAR *exename, ULONG flags, ULONG *id) PURE;
|
||||
+ STDMETHOD(GetRunningProcessDescriptionWide)(THIS_ ULONG64 server, ULONG id, ULONG flags, WCHAR *exename, ULONG size,
|
||||
+ ULONG *actualsize, WCHAR *description, ULONG desc_size, ULONG *actual_descr_size) PURE;
|
||||
+ STDMETHOD(CreateProcessWide)(THIS_ ULONG64 server, WCHAR *CommandLine, ULONG flags) PURE;
|
||||
+ STDMETHOD(CreateProcessAndAttachWide)(THIS_ ULONG64 server, WCHAR *commandline, ULONG flags,
|
||||
+ ULONG processid,ULONG attachflags) PURE;
|
||||
+ /* IDebugClient4 */
|
||||
+ STDMETHOD(OpenDumpFileWide)(THIS_ const WCHAR *filename, ULONG64 handle) PURE;
|
||||
+ STDMETHOD(WriteDumpFileWide)(THIS_ const WCHAR *filename, ULONG64 handle, ULONG qualifier, ULONG Flags, const WCHAR *comment) PURE;
|
||||
+ STDMETHOD(AddDumpInformationFileWide)(THIS_ const WCHAR *filename,ULONG64 handle, ULONG type) PURE;
|
||||
+ STDMETHOD(GetNumberDumpFiles)(THIS_ ULONG *count) PURE;
|
||||
+ STDMETHOD(GetDumpFile)(THIS_ ULONG index, char *buffer, ULONG buf_size, ULONG *name_size, ULONG64 *handle, ULONG *type) PURE;
|
||||
+ STDMETHOD(GetDumpFileWide)(THIS_ ULONG index, WCHAR *buffer, ULONG buf_size, ULONG *name_size, ULONG64 *handle,ULONG *type) PURE;
|
||||
+ /* IDebugClient5 */
|
||||
+ STDMETHOD(AttachKernelWide)(THIS_ ULONG flags, const WCHAR *options) PURE;
|
||||
+ STDMETHOD(GetKernelConnectionOptionsWide)(THIS_ WCHAR *buffer, ULONG buf_size, ULONG *size) PURE;
|
||||
+ STDMETHOD(SetKernelConnectionOptionsWide)(THIS_ const WCHAR *options) PURE;
|
||||
+ STDMETHOD(StartProcessServerWide)(THIS_ ULONG flags, const WCHAR *options, void *reserved) PURE;
|
||||
+ STDMETHOD(ConnectProcessServerWide)(THIS_ const WCHAR *options, ULONG64 *server) PURE;
|
||||
+ STDMETHOD(StartServerWide)(THIS_ const WCHAR *options) PURE;
|
||||
+ STDMETHOD(OutputServersWide)(THIS_ ULONG control, const WCHAR *machine, ULONG flags) PURE;
|
||||
+ STDMETHOD(GetOutputCallbacksWide)(THIS_ IDebugOutputCallbacksWide **callbacks) PURE;
|
||||
+ STDMETHOD(SetOutputCallbacksWide)(THIS_ IDebugOutputCallbacksWide *callbacks) PURE;
|
||||
+ STDMETHOD(GetOutputLinePrefixWide)(THIS_ WCHAR *buffer, ULONG buf_size, ULONG *size) PURE;
|
||||
+ STDMETHOD(SetOutputLinePrefixWide)(THIS_ const WCHAR *prefix) PURE;
|
||||
+ STDMETHOD(GetIdentityWide)(THIS_ WCHAR *buffer, ULONG buf_size, ULONG *identity) PURE;
|
||||
+ STDMETHOD(OutputIdentityWide)(THIS_ ULONG control, ULONG flags, const WCHAR *format) PURE;
|
||||
+ STDMETHOD(GetEventCallbacksWide)(THIS_ IDebugEventCallbacksWide **callbacks) PURE;
|
||||
+ STDMETHOD(SetEventCallbacksWide)(THIS_ IDebugEventCallbacksWide *callbacks) PURE;
|
||||
+ STDMETHOD(CreateProcess2)(THIS_ ULONG64 server, char *command, void *options, ULONG buf_size,
|
||||
+ const char *initial, const char *environment) PURE;
|
||||
+ STDMETHOD(CreateProcess2Wide)(THIS_ ULONG64 server, WCHAR *command, void *options, ULONG size,
|
||||
+ const WCHAR *initial, const WCHAR *environment) PURE;
|
||||
+ STDMETHOD(CreateProcessAndAttach2)(THIS_ ULONG64 server, char *command, void *options, ULONG buf_size,
|
||||
+ const char *initial, const char *environment, ULONG processid, ULONG flags) PURE;
|
||||
+ STDMETHOD(CreateProcessAndAttach2Wide)(THIS_ ULONG64 server, WCHAR *command, void *buffer, ULONG buf_size,
|
||||
+ const WCHAR *initial, const WCHAR *environment, ULONG processid, ULONG flags) PURE;
|
||||
+ STDMETHOD(PushOutputLinePrefix)(THIS_ const char *prefix, ULONG64 *handle) PURE;
|
||||
+ STDMETHOD(PushOutputLinePrefixWide)(THIS_ const WCHAR *prefix, ULONG64 *handle) PURE;
|
||||
+ STDMETHOD(PopOutputLinePrefix)(THIS_ ULONG64 handle) PURE;
|
||||
+ STDMETHOD(GetNumberInputCallbacks)(THIS_ ULONG *count) PURE;
|
||||
+ STDMETHOD(GetNumberOutputCallbacks)(THIS_ ULONG *count) PURE;
|
||||
+ STDMETHOD(GetNumberEventCallbacks)(THIS_ ULONG flags, ULONG *count) PURE;
|
||||
+ STDMETHOD(GetQuitLockString)(THIS_ char *buffer, ULONG buf_size, ULONG *size) PURE;
|
||||
+ STDMETHOD(SetQuitLockString)(THIS_ char *string) PURE;
|
||||
+ STDMETHOD(GetQuitLockStringWide)(THIS_ WCHAR *buffer, ULONG buf_size, ULONG *size) PURE;
|
||||
+ STDMETHOD(SetQuitLockStringWide)(THIS_ const WCHAR *string) PURE;
|
||||
+ /* IDebugClient6 */
|
||||
+ STDMETHOD(SetEventContextCallbacks)(THIS_ IDebugEventContextCallbacks *callbacks) PURE;
|
||||
+ /* IDebugClient7 */
|
||||
+ STDMETHOD(SetClientContext)(THIS_ void *context, ULONG size) PURE;
|
||||
+};
|
||||
+#undef INTERFACE
|
||||
+
|
||||
#define INTERFACE IDebugDataSpaces
|
||||
DECLARE_INTERFACE_(IDebugDataSpaces, IUnknown)
|
||||
{
|
||||
--
|
||||
2.17.1
|
||||
|
@ -1,25 +1,25 @@
|
||||
From 7dac195394ed70c62bf7c20794e737071b94e0cb Mon Sep 17 00:00:00 2001
|
||||
From 5e739bc4d78bbf6598a8feb7a8cf50e875f86e7f Mon Sep 17 00:00:00 2001
|
||||
From: Zebediah Figura <z.figura12@gmail.com>
|
||||
Date: Wed, 13 Jun 2018 23:58:01 -0500
|
||||
Subject: [PATCH 51/83] kernel32/tests: Add some tests for wait timeouts.
|
||||
Subject: [PATCH] kernel32/tests: Add some tests for wait timeouts.
|
||||
|
||||
---
|
||||
dlls/kernel32/tests/sync.c | 68 ++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 68 insertions(+)
|
||||
|
||||
diff --git a/dlls/kernel32/tests/sync.c b/dlls/kernel32/tests/sync.c
|
||||
index 0fb3fd70e..c79e0595e 100644
|
||||
index 5fd758118fa..6b1d11a8a3c 100644
|
||||
--- a/dlls/kernel32/tests/sync.c
|
||||
+++ b/dlls/kernel32/tests/sync.c
|
||||
@@ -54,6 +54,7 @@ static BOOLEAN (WINAPI *pTryAcquireSRWLockShared)(PSRWLOCK);
|
||||
@@ -55,6 +55,7 @@ static BOOLEAN (WINAPI *pTryAcquireSRWLockShared)(PSRWLOCK);
|
||||
|
||||
static NTSTATUS (WINAPI *pNtAllocateVirtualMemory)(HANDLE, PVOID *, ULONG, SIZE_T *, ULONG, ULONG);
|
||||
static NTSTATUS (WINAPI *pNtAllocateVirtualMemory)(HANDLE, PVOID *, ULONG_PTR, SIZE_T *, ULONG, ULONG);
|
||||
static NTSTATUS (WINAPI *pNtFreeVirtualMemory)(HANDLE, PVOID *, SIZE_T *, ULONG);
|
||||
+static NTSTATUS (WINAPI *pNtQuerySystemTime)(LARGE_INTEGER *);
|
||||
static NTSTATUS (WINAPI *pNtWaitForSingleObject)(HANDLE, BOOLEAN, const LARGE_INTEGER *);
|
||||
static NTSTATUS (WINAPI *pNtWaitForMultipleObjects)(ULONG,const HANDLE*,BOOLEAN,BOOLEAN,const LARGE_INTEGER*);
|
||||
static PSLIST_ENTRY (__fastcall *pRtlInterlockedPushListSList)(PSLIST_HEADER list, PSLIST_ENTRY first,
|
||||
@@ -1480,11 +1481,15 @@ static HANDLE modify_handle(HANDLE handle, DWORD modify)
|
||||
@@ -1481,11 +1482,15 @@ static HANDLE modify_handle(HANDLE handle, DWORD modify)
|
||||
return ULongToHandle(tmp);
|
||||
}
|
||||
|
||||
@ -35,7 +35,7 @@ index 0fb3fd70e..c79e0595e 100644
|
||||
DWORD ret;
|
||||
|
||||
signaled = CreateEventW(NULL, TRUE, TRUE, NULL);
|
||||
@@ -1569,6 +1574,68 @@ static void test_WaitForSingleObject(void)
|
||||
@@ -1570,6 +1575,68 @@ static void test_WaitForSingleObject(void)
|
||||
status = pNtWaitForSingleObject(GetCurrentThread(), FALSE, &timeout);
|
||||
ok(status == STATUS_TIMEOUT, "expected STATUS_TIMEOUT, got %08x\n", status);
|
||||
|
||||
@ -104,7 +104,7 @@ index 0fb3fd70e..c79e0595e 100644
|
||||
CloseHandle(signaled);
|
||||
CloseHandle(nonsignaled);
|
||||
}
|
||||
@@ -2963,6 +3030,7 @@ START_TEST(sync)
|
||||
@@ -3003,6 +3070,7 @@ START_TEST(sync)
|
||||
pTryAcquireSRWLockShared = (void *)GetProcAddress(hdll, "TryAcquireSRWLockShared");
|
||||
pNtAllocateVirtualMemory = (void *)GetProcAddress(hntdll, "NtAllocateVirtualMemory");
|
||||
pNtFreeVirtualMemory = (void *)GetProcAddress(hntdll, "NtFreeVirtualMemory");
|
||||
@ -113,5 +113,5 @@ index 0fb3fd70e..c79e0595e 100644
|
||||
pNtWaitForMultipleObjects = (void *)GetProcAddress(hntdll, "NtWaitForMultipleObjects");
|
||||
pRtlInterlockedPushListSList = (void *)GetProcAddress(hntdll, "RtlInterlockedPushListSList");
|
||||
--
|
||||
2.20.1
|
||||
2.17.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 7eab2b3aaa657c6db87de440786dedecae1abe21 Mon Sep 17 00:00:00 2001
|
||||
From c2736168d1010e311233bfc078b75bfcd68b959d Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Sun, 28 May 2017 11:17:26 +0200
|
||||
Subject: [PATCH] ntdll: Resolve drive symlinks before returning section name.
|
||||
@ -11,10 +11,10 @@ Subject: [PATCH] ntdll: Resolve drive symlinks before returning section name.
|
||||
4 files changed, 35 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/dlls/ntdll/directory.c b/dlls/ntdll/directory.c
|
||||
index 4810a9b7962..c6d496abdf2 100644
|
||||
index 6ea95037153..725c002ab62 100644
|
||||
--- a/dlls/ntdll/directory.c
|
||||
+++ b/dlls/ntdll/directory.c
|
||||
@@ -2928,7 +2928,7 @@ static NTSTATUS nt_to_unix_file_name_internal( const UNICODE_STRING *nameW, ANSI
|
||||
@@ -2875,7 +2875,7 @@ static NTSTATUS nt_to_unix_file_name_internal( const UNICODE_STRING *nameW, ANSI
|
||||
}
|
||||
|
||||
/* read the contents of an NT symlink object */
|
||||
@ -24,19 +24,19 @@ index 4810a9b7962..c6d496abdf2 100644
|
||||
OBJECT_ATTRIBUTES attr;
|
||||
UNICODE_STRING targetW;
|
||||
diff --git a/dlls/ntdll/ntdll_misc.h b/dlls/ntdll/ntdll_misc.h
|
||||
index 5edd53c4610..6e1f14c432d 100644
|
||||
index 59393e3a414..1b2b4e701bb 100644
|
||||
--- a/dlls/ntdll/ntdll_misc.h
|
||||
+++ b/dlls/ntdll/ntdll_misc.h
|
||||
@@ -176,6 +176,7 @@ extern NTSTATUS nt_to_unix_file_name_attr( const OBJECT_ATTRIBUTES *attr, ANSI_S
|
||||
@@ -171,6 +171,7 @@ extern NTSTATUS nt_to_unix_file_name_attr( const OBJECT_ATTRIBUTES *attr, ANSI_S
|
||||
/* virtual memory */
|
||||
extern NTSTATUS virtual_alloc_aligned( PVOID *ret, ULONG zero_bits, SIZE_T *size_ptr,
|
||||
extern NTSTATUS virtual_alloc_aligned( PVOID *ret, unsigned short zero_bits_64, SIZE_T *size_ptr,
|
||||
ULONG type, ULONG protect, ULONG alignment ) DECLSPEC_HIDDEN;
|
||||
+extern NTSTATUS read_nt_symlink( HANDLE root, UNICODE_STRING *name, WCHAR *target, size_t length ) DECLSPEC_HIDDEN;
|
||||
extern NTSTATUS virtual_map_section( HANDLE handle, PVOID *addr_ptr, ULONG zero_bits, SIZE_T commit_size,
|
||||
const LARGE_INTEGER *offset_ptr, SIZE_T *size_ptr, ULONG protect,
|
||||
pe_image_info_t *image_info ) DECLSPEC_HIDDEN;
|
||||
extern NTSTATUS virtual_map_section( HANDLE handle, PVOID *addr_ptr, unsigned short zero_bits_64, SIZE_T commit_size,
|
||||
const LARGE_INTEGER *offset_ptr, SIZE_T *size_ptr, ULONG alloc_type,
|
||||
ULONG protect, pe_image_info_t *image_info ) DECLSPEC_HIDDEN;
|
||||
diff --git a/dlls/ntdll/virtual.c b/dlls/ntdll/virtual.c
|
||||
index ff0df9de70f..0641e1310e1 100644
|
||||
index 966b2a4c386..26963020c1b 100644
|
||||
--- a/dlls/ntdll/virtual.c
|
||||
+++ b/dlls/ntdll/virtual.c
|
||||
@@ -56,6 +56,7 @@
|
||||
@ -56,7 +56,7 @@ index ff0df9de70f..0641e1310e1 100644
|
||||
static struct file_view *view_block_start, *view_block_end, *next_free_view;
|
||||
static const size_t view_block_size = 0x100000;
|
||||
static void *preload_reserve_start;
|
||||
@@ -2999,12 +3002,15 @@ static NTSTATUS get_section_name( HANDLE process, LPCVOID addr,
|
||||
@@ -3075,12 +3078,15 @@ static NTSTATUS get_section_name( HANDLE process, LPCVOID addr,
|
||||
MEMORY_SECTION_NAME *info,
|
||||
SIZE_T len, SIZE_T *res_len )
|
||||
{
|
||||
@ -73,7 +73,7 @@ index ff0df9de70f..0641e1310e1 100644
|
||||
|
||||
if (!addr || !info || !res_len) return STATUS_INVALID_PARAMETER;
|
||||
|
||||
@@ -3063,14 +3069,34 @@ static NTSTATUS get_section_name( HANDLE process, LPCVOID addr,
|
||||
@@ -3139,14 +3145,34 @@ static NTSTATUS get_section_name( HANDLE process, LPCVOID addr,
|
||||
}
|
||||
|
||||
found:
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 0621f527e51061a9693e7e1fdcc584afe8a8a5eb Mon Sep 17 00:00:00 2001
|
||||
From d5665101d6779856aedd2f354021a303a2be21d9 Mon Sep 17 00:00:00 2001
|
||||
From: Andrew Wesie <awesie@gmail.com>
|
||||
Date: Fri, 27 Jul 2018 01:22:59 -0500
|
||||
Subject: [PATCH] ntdll: Refactor RtlCreateUserThread into NtCreateThreadEx.
|
||||
@ -7,15 +7,15 @@ League of Legends hooks NtCreateThread or NtCreateThreadEx (depending on the
|
||||
reported version), and expects it to be called whenever a thread is created.
|
||||
---
|
||||
dlls/ntdll/ntdll.spec | 2 +-
|
||||
dlls/ntdll/thread.c | 192 ++++++++++++++++++++++++++++++++++--------
|
||||
dlls/ntdll/thread.c | 194 ++++++++++++++++++++++++++++++++++--------
|
||||
include/winternl.h | 25 ++++++
|
||||
3 files changed, 184 insertions(+), 35 deletions(-)
|
||||
3 files changed, 185 insertions(+), 36 deletions(-)
|
||||
|
||||
diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec
|
||||
index 675e2a536b3..26b0d85626b 100644
|
||||
index 5d60528b71d..164effb78f3 100644
|
||||
--- a/dlls/ntdll/ntdll.spec
|
||||
+++ b/dlls/ntdll/ntdll.spec
|
||||
@@ -155,7 +155,7 @@
|
||||
@@ -175,7 +175,7 @@
|
||||
@ stdcall NtCreateSection(ptr long ptr ptr long long long)
|
||||
@ stdcall NtCreateSemaphore(ptr long ptr long long)
|
||||
@ stdcall NtCreateSymbolicLinkObject(ptr long ptr ptr)
|
||||
@ -25,10 +25,10 @@ index 675e2a536b3..26b0d85626b 100644
|
||||
@ stdcall NtCreateTimer(ptr long ptr long)
|
||||
@ stub NtCreateToken
|
||||
diff --git a/dlls/ntdll/thread.c b/dlls/ntdll/thread.c
|
||||
index 8af84b06b5c..aaa2cc1022b 100644
|
||||
index 6552c486824..db291369c08 100644
|
||||
--- a/dlls/ntdll/thread.c
|
||||
+++ b/dlls/ntdll/thread.c
|
||||
@@ -542,34 +542,18 @@ static void start_thread( struct startup_info *info )
|
||||
@@ -543,34 +543,18 @@ static void start_thread( struct startup_info *info )
|
||||
/***********************************************************************
|
||||
* NtCreateThreadEx (NTDLL.@)
|
||||
*/
|
||||
@ -68,7 +68,7 @@ index 8af84b06b5c..aaa2cc1022b 100644
|
||||
HANDLE handle = 0, actctx = 0;
|
||||
TEB *teb = NULL;
|
||||
DWORD tid = 0;
|
||||
@@ -580,6 +564,33 @@ NTSTATUS WINAPI RtlCreateUserThread( HANDLE process, SECURITY_DESCRIPTOR *descr,
|
||||
@@ -581,6 +565,33 @@ NTSTATUS WINAPI RtlCreateUserThread( HANDLE process, SECURITY_DESCRIPTOR *descr,
|
||||
struct object_attributes *objattr = NULL;
|
||||
INITIAL_TEB stack;
|
||||
|
||||
@ -102,7 +102,7 @@ index 8af84b06b5c..aaa2cc1022b 100644
|
||||
if (process != NtCurrentProcess())
|
||||
{
|
||||
apc_call_t call;
|
||||
@@ -605,12 +616,7 @@ NTSTATUS WINAPI RtlCreateUserThread( HANDLE process, SECURITY_DESCRIPTOR *descr,
|
||||
@@ -606,12 +617,7 @@ NTSTATUS WINAPI RtlCreateUserThread( HANDLE process, SECURITY_DESCRIPTOR *descr,
|
||||
return result.create_thread.status;
|
||||
}
|
||||
|
||||
@ -116,7 +116,7 @@ index 8af84b06b5c..aaa2cc1022b 100644
|
||||
|
||||
if (server_pipe( request_pipe ) == -1)
|
||||
{
|
||||
@@ -622,7 +628,7 @@ NTSTATUS WINAPI RtlCreateUserThread( HANDLE process, SECURITY_DESCRIPTOR *descr,
|
||||
@@ -623,7 +629,7 @@ NTSTATUS WINAPI RtlCreateUserThread( HANDLE process, SECURITY_DESCRIPTOR *descr,
|
||||
SERVER_START_REQ( new_thread )
|
||||
{
|
||||
req->process = wine_server_obj_handle( process );
|
||||
@ -125,7 +125,7 @@ index 8af84b06b5c..aaa2cc1022b 100644
|
||||
req->suspend = suspended;
|
||||
req->request_fd = request_pipe[0];
|
||||
wine_server_add_data( req, objattr, len );
|
||||
@@ -684,19 +690,19 @@ NTSTATUS WINAPI RtlCreateUserThread( HANDLE process, SECURITY_DESCRIPTOR *descr,
|
||||
@@ -685,20 +691,20 @@ NTSTATUS WINAPI RtlCreateUserThread( HANDLE process, SECURITY_DESCRIPTOR *descr,
|
||||
thread_data->wait_fd[1] = -1;
|
||||
thread_data->start_stack = (char *)teb->Tib.StackBase;
|
||||
|
||||
@ -134,7 +134,9 @@ index 8af84b06b5c..aaa2cc1022b 100644
|
||||
+ pthread_attr_init( &pthread_attr );
|
||||
+ pthread_attr_setstack( &pthread_attr, teb->DeallocationStack,
|
||||
(char *)teb->Tib.StackBase + extra_stack - (char *)teb->DeallocationStack );
|
||||
- pthread_attr_setguardsize( &attr, 0 );
|
||||
- pthread_attr_setscope( &attr, PTHREAD_SCOPE_SYSTEM ); /* force creating a kernel thread */
|
||||
+ pthread_attr_setguardsize( &pthread_attr, 0 );
|
||||
+ pthread_attr_setscope( &pthread_attr, PTHREAD_SCOPE_SYSTEM ); /* force creating a kernel thread */
|
||||
interlocked_xchg_add( &nb_threads, 1 );
|
||||
- if (pthread_create( &pthread_id, &attr, (void * (*)(void *))start_thread, info ))
|
||||
@ -151,7 +153,7 @@ index 8af84b06b5c..aaa2cc1022b 100644
|
||||
pthread_sigmask( SIG_SETMASK, &sigset, NULL );
|
||||
|
||||
if (id) id->UniqueThread = ULongToHandle(tid);
|
||||
@@ -713,6 +719,124 @@ error:
|
||||
@@ -715,6 +721,124 @@ error:
|
||||
return status;
|
||||
}
|
||||
|
||||
@ -277,10 +279,10 @@ index 8af84b06b5c..aaa2cc1022b 100644
|
||||
/******************************************************************************
|
||||
* RtlGetNtGlobalFlags (NTDLL.@)
|
||||
diff --git a/include/winternl.h b/include/winternl.h
|
||||
index fbcb66ee2af..ba18fdea3a1 100644
|
||||
index c6dbc5931b2..d1937b9f06b 100644
|
||||
--- a/include/winternl.h
|
||||
+++ b/include/winternl.h
|
||||
@@ -2180,6 +2180,31 @@ typedef enum _SYSDBG_COMMAND {
|
||||
@@ -2197,6 +2197,31 @@ typedef enum _SYSDBG_COMMAND {
|
||||
SysDbgWriteBusData
|
||||
} SYSDBG_COMMAND, *PSYSDBG_COMMAND;
|
||||
|
||||
|
@ -52,7 +52,7 @@ usage()
|
||||
# Get the upstream commit sha
|
||||
upstream_commit()
|
||||
{
|
||||
echo "cf5ccf29a9ae341cebe03634b3c4220c0c59ea53"
|
||||
echo "4c6aa8b2fa1678c39aa5a89d9b26cfc4002e744e"
|
||||
}
|
||||
|
||||
# Show version information
|
||||
@ -2967,14 +2967,12 @@ fi
|
||||
# | * [#44958] dbgeng: Support IDebugClient7 interface.
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/dbgeng/dbgeng.c, include/dbgeng.h
|
||||
# | * dlls/dbgeng/dbgeng.c
|
||||
# |
|
||||
if test "$enable_dbgeng_IDebugClient7" -eq 1; then
|
||||
patch_apply dbgeng-IDebugClient7/0001-include-Add-IDebugClient2-7-interfaces.patch
|
||||
patch_apply dbgeng-IDebugClient7/0002-dbgeng-Support-interfaces-IDebugClient2-4.patch
|
||||
patch_apply dbgeng-IDebugClient7/0003-dbgeng-Support-IDebugClient5-7-interfaces.patch
|
||||
(
|
||||
printf '%s\n' '+ { "Alistair Leslie-Hughes", "include: Add IDebugClient2-7 interfaces.", 1 },';
|
||||
printf '%s\n' '+ { "Alistair Leslie-Hughes", "dbgeng: Support interfaces IDebugClient2-4.", 1 },';
|
||||
printf '%s\n' '+ { "Alistair Leslie-Hughes", "dbgeng: Support IDebugClient5-7 interfaces.", 1 },';
|
||||
) >> "$patchlist"
|
||||
|
@ -1,14 +1,14 @@
|
||||
From c86938426ec3acafea2faa8d9ad24a065f44fbd1 Mon Sep 17 00:00:00 2001
|
||||
From 8cfc4d7d949ff0f48e9fc9b64c953c57b7d91ca2 Mon Sep 17 00:00:00 2001
|
||||
From: Dmitry Timoshkov <dmitry@baikal.ru>
|
||||
Date: Thu, 7 Jan 2016 17:38:17 +0800
|
||||
Subject: widl: Add support for structures.
|
||||
Subject: [PATCH] widl: Add support for structures.
|
||||
|
||||
---
|
||||
tools/widl/write_sltg.c | 584 +++++++++++++++++++++++++++++++++++++---
|
||||
1 file changed, 551 insertions(+), 33 deletions(-)
|
||||
|
||||
diff --git a/tools/widl/write_sltg.c b/tools/widl/write_sltg.c
|
||||
index c4ddaed9..f71d3d5b 100644
|
||||
index c4ddaed9441..a03e9688bd2 100644
|
||||
--- a/tools/widl/write_sltg.c
|
||||
+++ b/tools/widl/write_sltg.c
|
||||
@@ -1,7 +1,7 @@
|
||||
@ -293,8 +293,7 @@ index c4ddaed9..f71d3d5b 100644
|
||||
|
||||
-static void add_structure_typeinfo(struct sltg_typelib *typelib, type_t *type)
|
||||
+static const char *add_typeinfo_block(struct sltg_typelib *typelib, const type_t *type)
|
||||
{
|
||||
- error("add_structure_typeinfo: %s not implemented\n", type->name);
|
||||
+{
|
||||
+ const char *index_name, *other_name;
|
||||
+ void *block;
|
||||
+ short *p;
|
||||
@ -369,7 +368,8 @@ index c4ddaed9..f71d3d5b 100644
|
||||
+}
|
||||
+
|
||||
+static int get_element_size(type_t *type)
|
||||
+{
|
||||
{
|
||||
- error("add_structure_typeinfo: %s not implemented\n", type->name);
|
||||
+ int vt = get_type_vt(type);
|
||||
+
|
||||
+ switch (vt)
|
||||
@ -453,7 +453,7 @@ index c4ddaed9..f71d3d5b 100644
|
||||
+ num_dims++;
|
||||
+ elements *= type_array_get_dim(atype);
|
||||
+
|
||||
+ atype = type_array_get_element(atype);
|
||||
+ atype = type_array_get_element_type(atype);
|
||||
+ }
|
||||
+
|
||||
+ chat("write_var_desc: VT_CARRAY: %d dimensions, %d elements\n", num_dims, elements);
|
||||
@ -465,7 +465,7 @@ index c4ddaed9..f71d3d5b 100644
|
||||
+
|
||||
+ array->cDims = num_dims;
|
||||
+ array->fFeatures = 0x0004; /* FADF_EMBEDDED */
|
||||
+ array->cbElements = get_element_size(type_array_get_element(type));
|
||||
+ array->cbElements = get_element_size(type_array_get_element_type(type));
|
||||
+ array->cLocks = 0;
|
||||
+ array->pvData = NULL;
|
||||
+
|
||||
@ -478,7 +478,7 @@ index c4ddaed9..f71d3d5b 100644
|
||||
+ bound[1] = 0;
|
||||
+ bound += 2;
|
||||
+
|
||||
+ atype = type_array_get_element(atype);
|
||||
+ atype = type_array_get_element_type(atype);
|
||||
+ }
|
||||
+
|
||||
+ append_data(data, array, size);
|
||||
@ -499,7 +499,7 @@ index c4ddaed9..f71d3d5b 100644
|
||||
+
|
||||
+ if (vt == VT_PTR)
|
||||
+ {
|
||||
+ type_t *ref = is_ptr(type) ? type_pointer_get_ref(type) : type_array_get_element(type);
|
||||
+ type_t *ref = is_ptr(type) ? type_pointer_get_ref_type(type) : type_array_get_element_type(type);
|
||||
+
|
||||
+ if (is_ptr(ref))
|
||||
+ {
|
||||
@ -553,13 +553,13 @@ index c4ddaed9..f71d3d5b 100644
|
||||
+ LIST_FOR_EACH_ENTRY(var, type_struct_get_fields(type), var_t, entry)
|
||||
+ {
|
||||
+ chat("add_structure_typeinfo: var %p, name %s, type %p\n",
|
||||
+ var, var->name, var->type);
|
||||
+ var, var->name, var->declspec.type);
|
||||
+
|
||||
+ init_sltg_data(&var_data[i]);
|
||||
+
|
||||
+ var_data_size += sizeof(struct sltg_variable);
|
||||
+
|
||||
+ type_desc_offset[i] = write_var_desc(&var_data[i], var->type, 0, var_data_size);
|
||||
+ type_desc_offset[i] = write_var_desc(&var_data[i], var->declspec.type, 0, var_data_size);
|
||||
+ dump_var_desc(var_data[i].data, var_data[i].size);
|
||||
+
|
||||
+ if (var_data[i].size > sizeof(short))
|
||||
@ -759,5 +759,5 @@ index c4ddaed9..f71d3d5b 100644
|
||||
sltg.n_file_blocks = 0;
|
||||
sltg.first_block = 1;
|
||||
--
|
||||
2.19.1
|
||||
2.17.1
|
||||
|
||||
|
@ -1,14 +1,14 @@
|
||||
From 4156b4077001ff084ee825c592e1f0753218e357 Mon Sep 17 00:00:00 2001
|
||||
From 58a9418411eb13530349887df93b2c96febbd23f Mon Sep 17 00:00:00 2001
|
||||
From: Dmitry Timoshkov <dmitry@baikal.ru>
|
||||
Date: Sat, 9 Jan 2016 15:49:46 +0800
|
||||
Subject: widl: More accurately report variable descriptions data size.
|
||||
Subject: [PATCH] widl: More accurately report variable descriptions data size.
|
||||
|
||||
---
|
||||
tools/widl/write_sltg.c | 20 ++++++++++++--------
|
||||
1 file changed, 12 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/tools/widl/write_sltg.c b/tools/widl/write_sltg.c
|
||||
index 1ba921d..20dd05d 100644
|
||||
index 216d688e69d..0d27898c7c0 100644
|
||||
--- a/tools/widl/write_sltg.c
|
||||
+++ b/tools/widl/write_sltg.c
|
||||
@@ -678,14 +678,15 @@ static void add_structure_typeinfo(struct sltg_typelib *typelib, const type_t *t
|
||||
@ -18,15 +18,15 @@ index 1ba921d..20dd05d 100644
|
||||
+ short base_offset;
|
||||
+
|
||||
chat("add_structure_typeinfo: var %p, name %s, type %p\n",
|
||||
var, var->name, var->type);
|
||||
var, var->name, var->declspec.type);
|
||||
|
||||
init_sltg_data(&var_data[i]);
|
||||
|
||||
- var_data_size += sizeof(struct sltg_variable);
|
||||
-
|
||||
- type_desc_offset[i] = write_var_desc(&var_data[i], var->type, 0, var_data_size);
|
||||
- type_desc_offset[i] = write_var_desc(&var_data[i], var->declspec.type, 0, var_data_size);
|
||||
+ base_offset = var_data_size + (i + 1) * sizeof(struct sltg_variable);
|
||||
+ type_desc_offset[i] = write_var_desc(&var_data[i], var->type, 0, base_offset);
|
||||
+ type_desc_offset[i] = write_var_desc(&var_data[i], var->declspec.type, 0, base_offset);
|
||||
dump_var_desc(var_data[i].data, var_data[i].size);
|
||||
|
||||
if (var_data[i].size > sizeof(short))
|
||||
@ -73,5 +73,5 @@ index 1ba921d..20dd05d 100644
|
||||
|
||||
add_block(typelib, data.data, data.size, index_name);
|
||||
--
|
||||
2.6.4
|
||||
2.17.1
|
||||
|
||||
|
@ -1,14 +1,14 @@
|
||||
From d1aa5ddca997bc92aae53b9d009debdd38c833f2 Mon Sep 17 00:00:00 2001
|
||||
From 91a17391506e9be6612af90aee35d33206037b10 Mon Sep 17 00:00:00 2001
|
||||
From: Dmitry Timoshkov <dmitry@baikal.ru>
|
||||
Date: Sat, 9 Jan 2016 16:22:15 +0800
|
||||
Subject: widl: Calculate size of instance for structures.
|
||||
Subject: [PATCH] widl: Calculate size of instance for structures.
|
||||
|
||||
---
|
||||
tools/widl/write_sltg.c | 25 +++++++++++++++++--------
|
||||
1 file changed, 17 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/tools/widl/write_sltg.c b/tools/widl/write_sltg.c
|
||||
index 20dd05d..05cda99 100644
|
||||
index 0d27898c7c0..bf8fe6d9ac0 100644
|
||||
--- a/tools/widl/write_sltg.c
|
||||
+++ b/tools/widl/write_sltg.c
|
||||
@@ -546,7 +546,7 @@ static int get_element_size(type_t *type)
|
||||
@ -33,7 +33,7 @@ index 20dd05d..05cda99 100644
|
||||
|
||||
array->cDims = num_dims;
|
||||
array->fFeatures = 0x0004; /* FADF_EMBEDDED */
|
||||
- array->cbElements = get_element_size(type_array_get_element(type));
|
||||
- array->cbElements = get_element_size(type_array_get_element_type(type));
|
||||
+ array->cbElements = get_element_size(atype);
|
||||
array->cLocks = 0;
|
||||
array->pvData = NULL;
|
||||
@ -50,7 +50,7 @@ index 20dd05d..05cda99 100644
|
||||
bound[1] = 0;
|
||||
bound += 2;
|
||||
|
||||
atype = type_array_get_element(atype);
|
||||
atype = type_array_get_element_type(atype);
|
||||
}
|
||||
|
||||
+ *size_instance += array_size;
|
||||
@ -93,8 +93,8 @@ index 20dd05d..05cda99 100644
|
||||
init_sltg_data(&var_data[i]);
|
||||
|
||||
base_offset = var_data_size + (i + 1) * sizeof(struct sltg_variable);
|
||||
- type_desc_offset[i] = write_var_desc(&var_data[i], var->type, 0, base_offset);
|
||||
+ type_desc_offset[i] = write_var_desc(&var_data[i], var->type, 0, base_offset, &size_instance);
|
||||
- type_desc_offset[i] = write_var_desc(&var_data[i], var->declspec.type, 0, base_offset);
|
||||
+ type_desc_offset[i] = write_var_desc(&var_data[i], var->declspec.type, 0, base_offset, &size_instance);
|
||||
dump_var_desc(var_data[i].data, var_data[i].size);
|
||||
|
||||
if (var_data[i].size > sizeof(short))
|
||||
@ -108,5 +108,5 @@ index 20dd05d..05cda99 100644
|
||||
tail.res24 = -1;
|
||||
tail.res26 = -1;
|
||||
--
|
||||
2.6.4
|
||||
2.17.1
|
||||
|
||||
|
@ -1,14 +1,15 @@
|
||||
From 49aa53fe28df7d9e93c93bfa6fa0304134153a7c Mon Sep 17 00:00:00 2001
|
||||
From b49b4983e2fb13cd4bf81626e19b6c38277f596d Mon Sep 17 00:00:00 2001
|
||||
From: Dmitry Timoshkov <dmitry@baikal.ru>
|
||||
Date: Wed, 13 Jan 2016 15:58:50 +0800
|
||||
Subject: widl: Add support for VT_USERDEFINED to SLTG typelib generator.
|
||||
Subject: [PATCH] widl: Add support for VT_USERDEFINED to SLTG typelib
|
||||
generator.
|
||||
|
||||
---
|
||||
tools/widl/write_sltg.c | 211 ++++++++++++++++++++++++++++++++++++++++++++----
|
||||
tools/widl/write_sltg.c | 211 +++++++++++++++++++++++++++++++++++++---
|
||||
1 file changed, 196 insertions(+), 15 deletions(-)
|
||||
|
||||
diff --git a/tools/widl/write_sltg.c b/tools/widl/write_sltg.c
|
||||
index 08bb25e..dbe75c6 100644
|
||||
index 7421899ed56..bffd94569a8 100644
|
||||
--- a/tools/widl/write_sltg.c
|
||||
+++ b/tools/widl/write_sltg.c
|
||||
@@ -83,6 +83,12 @@ struct sltg_typelib
|
||||
@ -300,8 +301,8 @@ index 08bb25e..dbe75c6 100644
|
||||
init_sltg_data(&var_data[i]);
|
||||
|
||||
base_offset = var_data_size + (i + 1) * sizeof(struct sltg_variable);
|
||||
- type_desc_offset[i] = write_var_desc(&var_data[i], var->type, 0, base_offset, &size_instance);
|
||||
+ type_desc_offset[i] = write_var_desc(&var_data[i], var->type, 0, base_offset, &size_instance, &hrefmap);
|
||||
- type_desc_offset[i] = write_var_desc(&var_data[i], var->declspec.type, 0, base_offset, &size_instance);
|
||||
+ type_desc_offset[i] = write_var_desc(&var_data[i], var->declspec.type, 0, base_offset, &size_instance, &hrefmap);
|
||||
dump_var_desc(var_data[i].data, var_data[i].size);
|
||||
|
||||
if (var_data[i].size > sizeof(short))
|
||||
@ -318,5 +319,5 @@ index 08bb25e..dbe75c6 100644
|
||||
|
||||
member.res00 = 0x0001;
|
||||
--
|
||||
2.6.4
|
||||
2.17.1
|
||||
|
||||
|
@ -1,15 +1,15 @@
|
||||
From e35374deb70ca2dd7e26df954b57e61dd21668a4 Mon Sep 17 00:00:00 2001
|
||||
From 5d75156efed85e3f124f3b48511f0fb41fac6387 Mon Sep 17 00:00:00 2001
|
||||
From: Dmitry Timoshkov <dmitry@baikal.ru>
|
||||
Date: Thu, 14 Jan 2016 15:16:37 +0800
|
||||
Subject: widl: Add support for recursive type references to SLTG typelib
|
||||
generator.
|
||||
Subject: [PATCH] widl: Add support for recursive type references to SLTG
|
||||
typelib generator.
|
||||
|
||||
---
|
||||
tools/widl/write_sltg.c | 66 ++++++++++++++++++++++++++++++++++---------------
|
||||
tools/widl/write_sltg.c | 66 ++++++++++++++++++++++++++++-------------
|
||||
1 file changed, 46 insertions(+), 20 deletions(-)
|
||||
|
||||
diff --git a/tools/widl/write_sltg.c b/tools/widl/write_sltg.c
|
||||
index b417dc2..4d9ee01 100644
|
||||
index 7a6967c7f39..2ba5a3c25b0 100644
|
||||
--- a/tools/widl/write_sltg.c
|
||||
+++ b/tools/widl/write_sltg.c
|
||||
@@ -203,6 +203,12 @@ struct sltg_hrefinfo
|
||||
@ -61,10 +61,11 @@ index b417dc2..4d9ee01 100644
|
||||
return desc_offset;
|
||||
}
|
||||
|
||||
@@ -863,6 +864,33 @@ static short write_var_desc(struct sltg_data *data, type_t *type, short flags, s
|
||||
@@ -862,6 +863,33 @@ static short write_var_desc(struct sltg_data *data, type_t *type, short flags, s
|
||||
chat("write_var_desc: VT_USERDEFINED, type %p, name %s, real type %d, href %d\n",
|
||||
type, type->name, type_get_type(type), type->typelib_idx);
|
||||
|
||||
if (type->typelib_idx == -1)
|
||||
+ if (type->typelib_idx == -1)
|
||||
+ {
|
||||
+ chat("write_var_desc: trying to ref not added type\n");
|
||||
+
|
||||
@ -91,10 +92,9 @@ index b417dc2..4d9ee01 100644
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ if (type->typelib_idx == -1)
|
||||
if (type->typelib_idx == -1)
|
||||
error("write_var_desc: trying to ref not added type\n");
|
||||
|
||||
href = local_href(hrefmap, type->typelib_idx);
|
||||
@@ -888,6 +916,8 @@ static void add_structure_typeinfo(struct sltg_typelib *typelib, type_t *type)
|
||||
int member_offset, var_count = 0, var_data_size = 0, size_instance = 0;
|
||||
short *type_desc_offset = NULL;
|
||||
@ -118,15 +118,15 @@ index b417dc2..4d9ee01 100644
|
||||
short base_offset;
|
||||
|
||||
- chat("add_structure_typeinfo: var %p, name %s, type %p\n",
|
||||
- var, var->name, var->type);
|
||||
- var, var->name, var->declspec.type);
|
||||
+ chat("add_structure_typeinfo: var %p (%s), type %p (%s)\n",
|
||||
+ var, var->name, var->type, var->type->name);
|
||||
+ var, var->name, var->declspec.type, var->declspec.type->name);
|
||||
|
||||
init_sltg_data(&var_data[i]);
|
||||
|
||||
base_offset = var_data_size + (i + 1) * sizeof(struct sltg_variable);
|
||||
- type_desc_offset[i] = write_var_desc(&var_data[i], var->type, 0, base_offset, &size_instance, &hrefmap);
|
||||
+ type_desc_offset[i] = write_var_desc(typelib, &var_data[i], var->type, 0, base_offset, &size_instance, &hrefmap);
|
||||
- type_desc_offset[i] = write_var_desc(&var_data[i], var->declspec.type, 0, base_offset, &size_instance, &hrefmap);
|
||||
+ type_desc_offset[i] = write_var_desc(typelib, &var_data[i], var->declspec.type, 0, base_offset, &size_instance, &hrefmap);
|
||||
dump_var_desc(var_data[i].data, var_data[i].size);
|
||||
|
||||
if (var_data[i].size > sizeof(short))
|
||||
@ -155,5 +155,5 @@ index b417dc2..4d9ee01 100644
|
||||
break;
|
||||
}
|
||||
--
|
||||
2.6.4
|
||||
2.17.1
|
||||
|
||||
|
@ -1,14 +1,14 @@
|
||||
From 28b03b8cabf03e68c6a11822e66518b7b1e578c4 Mon Sep 17 00:00:00 2001
|
||||
From 9a53aa57ea3bbe2bada3b79f55c165d6d97c34b6 Mon Sep 17 00:00:00 2001
|
||||
From: Dmitry Timoshkov <dmitry@baikal.ru>
|
||||
Date: Tue, 19 Jan 2016 17:01:01 +0800
|
||||
Subject: widl: Add support for interfaces to SLTG typelib generator.
|
||||
Subject: [PATCH] widl: Add support for interfaces to SLTG typelib generator.
|
||||
|
||||
---
|
||||
tools/widl/write_sltg.c | 431 ++++++++++++++++++++++++++++++++++++++++++++++--
|
||||
tools/widl/write_sltg.c | 431 ++++++++++++++++++++++++++++++++++++++--
|
||||
1 file changed, 417 insertions(+), 14 deletions(-)
|
||||
|
||||
diff --git a/tools/widl/write_sltg.c b/tools/widl/write_sltg.c
|
||||
index 4d9ee01..556816f 100644
|
||||
index 2ba5a3c25b0..38a080a319f 100644
|
||||
--- a/tools/widl/write_sltg.c
|
||||
+++ b/tools/widl/write_sltg.c
|
||||
@@ -151,8 +151,8 @@ struct sltg_tail
|
||||
@ -88,7 +88,7 @@ index 4d9ee01..556816f 100644
|
||||
tail->tdescalias_vt = -1;
|
||||
tail->res16 = -1;
|
||||
@@ -813,8 +832,11 @@ static short write_var_desc(struct sltg_typelib *typelib, struct sltg_data *data
|
||||
atype = type_array_get_element(atype);
|
||||
atype = type_array_get_element_type(atype);
|
||||
}
|
||||
|
||||
- *size_instance += array_size;
|
||||
@ -251,7 +251,7 @@ index 4d9ee01..556816f 100644
|
||||
+ old_size = data->size;
|
||||
+
|
||||
+ init_sltg_data(&ret_data);
|
||||
+ ret_desc_offset = write_var_desc(typelib, &ret_data, type_function_get_rettype(func->type),
|
||||
+ ret_desc_offset = write_var_desc(typelib, &ret_data, type_function_get_rettype(func->declspec.type),
|
||||
+ 0, base_offset, NULL, hrefmap);
|
||||
+ dump_var_desc(ret_data.data, ret_data.size);
|
||||
+
|
||||
@ -264,27 +264,27 @@ index 4d9ee01..556816f 100644
|
||||
+ arg_offset += ret_data.size;
|
||||
+ }
|
||||
+
|
||||
+ if (type_get_function_args(func->type))
|
||||
+ if (type_get_function_args(func->declspec.type))
|
||||
+ {
|
||||
+ int i = 0;
|
||||
+
|
||||
+ arg_count = list_count(type_get_function_args(func->type));
|
||||
+ arg_count = list_count(type_get_function_args(func->declspec.type));
|
||||
+
|
||||
+ arg_data = xmalloc(arg_count * sizeof(*arg_data));
|
||||
+ arg_desc_offset = xmalloc(arg_count * sizeof(*arg_desc_offset));
|
||||
+
|
||||
+ arg_offset += arg_count * 2 * sizeof(short);
|
||||
+
|
||||
+ LIST_FOR_EACH_ENTRY(arg, type_get_function_args(func->type), const var_t, entry)
|
||||
+ LIST_FOR_EACH_ENTRY(arg, type_get_function_args(func->declspec.type), const var_t, entry)
|
||||
+ {
|
||||
+ const attr_t *attr;
|
||||
+
|
||||
+ chat("add_func_desc: arg[%d] %p (%s), type %p (%s)\n",
|
||||
+ i, arg, arg->name, arg->type, arg->type->name);
|
||||
+ i, arg, arg->name, arg->declspec.type, arg->declspec.type->name);
|
||||
+
|
||||
+ init_sltg_data(&arg_data[i]);
|
||||
+
|
||||
+ arg_desc_offset[i] = write_var_desc(typelib, &arg_data[i], arg->type, 0, arg_offset, NULL, hrefmap);
|
||||
+ arg_desc_offset[i] = write_var_desc(typelib, &arg_data[i], arg->declspec.type, 0, arg_offset, NULL, hrefmap);
|
||||
+ dump_var_desc(arg_data[i].data, arg_data[i].size);
|
||||
+
|
||||
+ if (arg_data[i].size > sizeof(short))
|
||||
@ -360,7 +360,7 @@ index 4d9ee01..556816f 100644
|
||||
+
|
||||
+ arg_offset += arg_count * 2 * sizeof(short);
|
||||
+
|
||||
+ LIST_FOR_EACH_ENTRY(arg, type_get_function_args(func->type), const var_t, entry)
|
||||
+ LIST_FOR_EACH_ENTRY(arg, type_get_function_args(func->declspec.type), const var_t, entry)
|
||||
+ {
|
||||
+ short name, type_offset;
|
||||
+
|
||||
@ -515,5 +515,5 @@ index 4d9ee01..556816f 100644
|
||||
{
|
||||
error("add_enum_typeinfo: %s not implemented\n", type->name);
|
||||
--
|
||||
2.6.4
|
||||
2.17.1
|
||||
|
||||
|
@ -1,17 +1,17 @@
|
||||
From 95352b40a973bc72e3cd32e1a02b6842f15deea9 Mon Sep 17 00:00:00 2001
|
||||
From b8438563c713d08601c86895f12e8a40e3f2f54d Mon Sep 17 00:00:00 2001
|
||||
From: Dmitry Timoshkov <dmitry@baikal.ru>
|
||||
Date: Mon, 25 Jan 2016 15:26:12 +0800
|
||||
Subject: widl: Add support for function parameter flags to SLTG typelib
|
||||
generator.
|
||||
Subject: [PATCH] widl: Add support for function parameter flags to SLTG
|
||||
typelib generator.
|
||||
|
||||
This makes stdole32.tlb generated by widl have proper [in,out,retval]
|
||||
parameter flags.
|
||||
---
|
||||
tools/widl/write_sltg.c | 70 ++++++++++++++++++++++++++++++++++++++++++-------
|
||||
1 file changed, 60 insertions(+), 10 deletions(-)
|
||||
tools/widl/write_sltg.c | 71 +++++++++++++++++++++++++++++++++++------
|
||||
1 file changed, 61 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/tools/widl/write_sltg.c b/tools/widl/write_sltg.c
|
||||
index 2ec1770..3cb137c 100644
|
||||
index 68d1241d61c..b122e0dc389 100644
|
||||
--- a/tools/widl/write_sltg.c
|
||||
+++ b/tools/widl/write_sltg.c
|
||||
@@ -794,8 +794,8 @@ static int local_href(struct sltg_hrefmap *hrefmap, int typelib_href)
|
||||
@ -55,8 +55,8 @@ index 2ec1770..3cb137c 100644
|
||||
init_sltg_data(&var_data[i]);
|
||||
|
||||
base_offset = var_data_size + (i + 1) * sizeof(struct sltg_variable);
|
||||
- type_desc_offset[i] = write_var_desc(typelib, &var_data[i], var->type, 0, base_offset, &size_instance, &hrefmap);
|
||||
+ type_desc_offset[i] = write_var_desc(typelib, &var_data[i], var->type, 0, 0,
|
||||
- type_desc_offset[i] = write_var_desc(typelib, &var_data[i], var->declspec.type, 0, base_offset, &size_instance, &hrefmap);
|
||||
+ type_desc_offset[i] = write_var_desc(typelib, &var_data[i], var->declspec.type, 0, 0,
|
||||
+ base_offset, &size_instance, &hrefmap);
|
||||
dump_var_desc(var_data[i].data, var_data[i].size);
|
||||
|
||||
@ -117,29 +117,30 @@ index 2ec1770..3cb137c 100644
|
||||
@@ -1194,7 +1242,7 @@ static int add_func_desc(struct sltg_typelib *typelib, struct sltg_data *data, v
|
||||
|
||||
init_sltg_data(&ret_data);
|
||||
ret_desc_offset = write_var_desc(typelib, &ret_data, type_function_get_rettype(func->type),
|
||||
ret_desc_offset = write_var_desc(typelib, &ret_data, type_function_get_rettype(func->declspec.type),
|
||||
- 0, base_offset, NULL, hrefmap);
|
||||
+ 0, 0, base_offset, NULL, hrefmap);
|
||||
dump_var_desc(ret_data.data, ret_data.size);
|
||||
|
||||
arg_data_size = 0;
|
||||
@@ -1220,13 +1268,15 @@ static int add_func_desc(struct sltg_typelib *typelib, struct sltg_data *data, v
|
||||
LIST_FOR_EACH_ENTRY(arg, type_get_function_args(func->type), const var_t, entry)
|
||||
@@ -1220,13 +1268,16 @@ static int add_func_desc(struct sltg_typelib *typelib, struct sltg_data *data, v
|
||||
LIST_FOR_EACH_ENTRY(arg, type_get_function_args(func->declspec.type), const var_t, entry)
|
||||
{
|
||||
const attr_t *attr;
|
||||
+ short param_flags = get_param_flags(arg);
|
||||
|
||||
chat("add_func_desc: arg[%d] %p (%s), type %p (%s)\n",
|
||||
i, arg, arg->name, arg->type, arg->type->name);
|
||||
i, arg, arg->name, arg->declspec.type, arg->declspec.type->name);
|
||||
|
||||
init_sltg_data(&arg_data[i]);
|
||||
|
||||
- arg_desc_offset[i] = write_var_desc(typelib, &arg_data[i], arg->type, 0, arg_offset, NULL, hrefmap);
|
||||
+ arg_desc_offset[i] = write_var_desc(typelib, &arg_data[i], arg->type, param_flags, 0,
|
||||
- arg_desc_offset[i] = write_var_desc(typelib, &arg_data[i], arg->declspec.type, 0, arg_offset, NULL, hrefmap);
|
||||
+
|
||||
+ arg_desc_offset[i] = write_var_desc(typelib, &arg_data[i], arg->declspec.type, param_flags, 0,
|
||||
+ arg_offset, NULL, hrefmap);
|
||||
dump_var_desc(arg_data[i].data, arg_data[i].size);
|
||||
|
||||
if (arg_data[i].size > sizeof(short))
|
||||
--
|
||||
2.6.4
|
||||
2.17.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 58c943a9d3ffc3bd9feae35682710d408448d78a Mon Sep 17 00:00:00 2001
|
||||
From 01a8461f482a7383463e2953ec4088bc6805e817 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Mon, 25 May 2015 06:07:50 +0200
|
||||
Subject: [PATCH] wineboot: Assign a drive serial number during prefix
|
||||
@ -9,7 +9,7 @@ Subject: [PATCH] wineboot: Assign a drive serial number during prefix
|
||||
1 file changed, 32 insertions(+)
|
||||
|
||||
diff --git a/programs/wineboot/wineboot.c b/programs/wineboot/wineboot.c
|
||||
index 5190dcc701..6e54bff187 100644
|
||||
index 75c1a6a28b..6473820592 100644
|
||||
--- a/programs/wineboot/wineboot.c
|
||||
+++ b/programs/wineboot/wineboot.c
|
||||
@@ -70,6 +70,7 @@
|
||||
@ -20,9 +20,9 @@ index 5190dcc701..6e54bff187 100644
|
||||
#include <newdev.h>
|
||||
#include "resource.h"
|
||||
|
||||
@@ -293,6 +294,36 @@ static void get_namestring( WCHAR *buf )
|
||||
for (i = lstrlenW(buf) - 1; i >= 0 && buf[i] == ' '; i--) buf[i] = 0;
|
||||
}
|
||||
@@ -298,6 +299,36 @@ static void get_namestring( WCHAR *buf ) { }
|
||||
|
||||
#endif /* __i386__ || __x86_64__ */
|
||||
|
||||
+/* set a serial number for the disk containing windows */
|
||||
+static void create_disk_serial_number(void)
|
||||
@ -57,7 +57,7 @@ index 5190dcc701..6e54bff187 100644
|
||||
/* create the volatile hardware registry keys */
|
||||
static void create_hardware_registry_keys(void)
|
||||
{
|
||||
@@ -1420,6 +1451,7 @@ int __cdecl main( int argc, char *argv[] )
|
||||
@@ -1425,6 +1456,7 @@ int __cdecl main( int argc, char *argv[] )
|
||||
|
||||
ResetEvent( event ); /* in case this is a restart */
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user