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;
IUnknown * offsetF8; // instance explorer
LONG offsetFC; // unknown contents
} IE_THREAD_PARAM_BLOCK, *PIE_THREAD_PARAM_BLOCK;
+#endif
typedef struct ExplorerCommandLineParseResults
{