https://git.reactos.org/?p=reactos.git;a=commitdiff;h=05b37f63ea7987a3582bf4a6ebf2c3b07b167016

commit 05b37f63ea7987a3582bf4a6ebf2c3b07b167016
Author:     Timo Kreuzer <timo.kreu...@reactos.org>
AuthorDate: Sat Jun 1 14:42:14 2019 +0200
Commit:     Timo Kreuzer <timo.kreu...@reactos.org>
CommitDate: Thu Aug 15 18:04:57 2019 +0200

    [BROWSEUI] Try to "fix" IEThreadParamBlock structure for x64
---
 sdk/include/reactos/browseui_undoc.h | 40 ++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)

diff --git a/sdk/include/reactos/browseui_undoc.h 
b/sdk/include/reactos/browseui_undoc.h
index 4cd00096c53..f90ac9ada1c 100644
--- a/sdk/include/reactos/browseui_undoc.h
+++ b/sdk/include/reactos/browseui_undoc.h
@@ -25,6 +25,45 @@
 extern "C" {
 #endif /* defined(__cplusplus) */
 
+// Name is IETHREADPARAM according to symbols / mangled function names
+#ifdef _WIN64
+typedef struct IEThreadParamBlock
+{
+    long                            offset0;  // 0x00
+    UCHAR gap4[4];
+    DWORD                   dwFlags;          // 0x08
+    long                            offset8;  // 0x0c
+    IUnknown*                       offsetC;  // 0x10
+    long                            offset10; // 0x18
+    char padding1[4];                         // 0x1c
+    IUnknown*                       offset14; // 0x20
+    LPITEMIDLIST            directoryPIDL;    // 0x28
+    WCHAR awsz_30[21];                        // 0x30
+    WCHAR awszEventName[21];                  // 0x5A
+    char padding2[4];                         // 0x84
+    IUnknown*                       offset70; // 0x88
+    long                            offset74; // 0x90 unknown contents
+    char padding3[4];                         // 0x94
+    IUnknown*                       offset78; // 0x98
+    LPITEMIDLIST                    offset7C; // 0xa0
+    LPITEMIDLIST                    offset80; // 0xa8
+    LONG                            offset84; // 0xb0
+    LONG                            offset88; // 0xb4
+    LONG                            offset8C; // 0xb8
+    LONG                            offset90; // 0xbc
+    LONG                            offset94; // 0xc0
+    LONG                            offset98; // 0xc4
+    LONG                            offset9C; // 0xc8
+    LONG                            offsetA0; // 0xcc
+    char field_B4[52];
+    LONG                            offsetD8; // 0x104
+    UCHAR gap108[24];
+    DWORD dword120;
+    DWORD dword124;
+    IUnknown*                       offsetF8; // 0x128 instance explorer
+    UCHAR byteflags_130;
+} IE_THREAD_PARAM_BLOCK, * PIE_THREAD_PARAM_BLOCK;
+#else
 typedef struct IEThreadParamBlock
 {
     long                            offset0;
@@ -54,6 +93,7 @@ typedef struct IEThreadParamBlock
     IUnknown                      * offsetF8;        // instance explorer
     LONG                            offsetFC;        // unknown contents
 } IE_THREAD_PARAM_BLOCK, *PIE_THREAD_PARAM_BLOCK;
+#endif
 
 typedef struct ExplorerCommandLineParseResults
 {

Reply via email to