[BROWSEUI] Try to "fix" IEThreadParamBlock structure for x64
authorTimo Kreuzer <timo.kreuzer@reactos.org>
Sat, 1 Jun 2019 12:42:14 +0000 (14:42 +0200)
committerTimo Kreuzer <timo.kreuzer@reactos.org>
Thu, 15 Aug 2019 16:04:57 +0000 (18:04 +0200)
sdk/include/reactos/browseui_undoc.h

index 4cd0009..f90ac9a 100644 (file)
 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
 {