ie_sandbox/HelloWorld/broker.h
#include <ShellAPI.h>
// CoCreateUserBroker() function in ieframe.dll
#define COCREATEUSERBROKER_ENTRY 58
typedef struct tagProxyResolveUrl {
unsigned char *url;
unsigned char *domain;
unsigned int a;
unsigned int b;
unsigned int c;
unsigned int d;
unsigned char *buffer;
};
/************************************/
/*** REMOTE INTERFACES **************/
/************************************/
// [1]
// IEUserBroker interface (ieframe.dll).
// We need it to communicate with the renderer's father
typedef struct IEUserBroker {
void (*queryInterface)(HANDLE, struct _GUID *, void *);
void (*addRef)(HANDLE);
void (*release)(HANDLE);
void (*initialize)(HANDLE, long, long, void *);
void (*CreateProcessW)(HANDLE, unsigned long, unsigned short *,unsigned short *,unsigned long, unsigned long, unsigned char const *,unsigned short *, LPSTARTUPINFO /* OK (_BROKER_STARTUINFOEXW *) */,_PROCESS_INFORMATION *);
void (*WinExec)(HANDLE, unsigned long, char const *,unsigned int, unsigned int *);
void (*createKnownObject)(HANDLE, struct _GUID *, struct _GUID *, void *);
void (*BrokerCoCreateInstance)(HANDLE, unsigned long, _GUID *, IUnknown *, unsigned long, _GUID *, IUnknown * *);
void (*BrokerCoCreateInstanceEx)(HANDLE, unsigned long, _GUID *, IUnknown *, unsigned long, _COSERVERINFO *, unsigned long, tagMULTI_QI * /* OK (tagBROKER_MULTI_QI *) */);
void (*BrokerCoGetClassObject)(HANDLE, unsigned long, _GUID *, unsigned long, _COSERVERINFO *, _GUID *, IUnknown * *);
} IEUSER_BROKER, *IE_USER_BROKER_IFACE;
typedef struct IEUserBroker_obj {
IE_USER_BROKER_IFACE iface;
int a;
void *p1;
void *p2;
void *p3;
} IE_USER_BROKER_OBJ;
// [2]
// CProtectedModeAPI interface (ieframe.dll).
// Remote interface for implementing the protected mode APIs requiring the broker service
typedef struct CProtectedModeAPI {
void (*QueryInterface)(HANDLE, _GUID *,void * *);
void (*AddRef)(HANDLE);
void (*Release)(HANDLE);
void (*ShowSaveFileDialog)(HANDLE, HANDLE ,LPWSTR, LPWSTR, LPCWSTR,LPCWSTR, DWORD, DWORD, LPWSTR *);
void (*SaveFileAs)(HANDLE, unsigned short const *);
void (*RegCreateKeyExW)(HANDLE, unsigned long,unsigned short const *,unsigned long,unsigned long *,unsigned long *);
void (*RegSetValueExW)(HANDLE, unsigned short const *,unsigned short const *,unsigned long,unsigned char const *,unsigned long);
void (*destructor)(HANDLE, unsigned int);
} PROTECTED_MODE_API, *PROTECTED_MODE_IFACE;
typedef struct ProtectedModeAPI_obj {
PROTECTED_MODE_IFACE iface;
int a;
void *p1;
void *p2;
void *p3;
} PROTECTED_MODE_OBJ;
// [3]
// CStdIdentity Interface (ole32.dll).
// We need it to get every other interface
typedef struct CStdIdentity {
void (*QueryInterface)(HANDLE, _GUID *,void * *);
void (*AddRef)(HANDLE);
void (*Release)(HANDLE);
void (*QueryInternalInterface)(HANDLE, _GUID *,void * *);
} STD_IDENTITY, *STD_IDENTITY_IFACE;
typedef struct StdIdentity_obj {
STD_IDENTITY_IFACE iface;
int a;
void *p1;
void *p2;
void *p3;
} STD_IDENTITY_OBJ;
// [4]
// ShDocvwBroker interface (ieframe.dll).
// The core of the broker service. It exports more than 100 available remote methods
typedef struct ShBroker {
void (*QueryInterface)(HANDLE, _GUID *,void * *);
void (*AddRef)(HANDLE);
void (*Release)(HANDLE);
void (*RedirectUrl)(HANDLE, unsigned short const *,unsigned long, void */*(_BROKER_REDIRECT_DETAIL *)*/, void */*(IXMicTestMode *)*/);
void (*RedirectShortcut)(HANDLE, unsigned short const *,unsigned short const *,unsigned long, void * /*(_BROKER_REDIRECT_DETAIL *)*/);
void (*RedirectUrlWithBindInfo)(HANDLE, _tagBINDINFO * /* CHECK (_BROKER_BIND_INFO *)*/,void * /*(_BROKER_REDIRECT_DETAIL *)*/,void */*(IXMicTestMode *)*/);
void (*ShowInternetOptions)(HANDLE, HWND__ *,unsigned short const *,unsigned short const *,long, _ITEMIDLIST * /* CHECK (_ITEMIDLIST_ABSOLUTE * *)*/,unsigned long,int *);
void (*ShowInternetOptionsZones)(HANDLE, HWND__ *,unsigned short const *,unsigned short const *);
void (*ShowInternetOptionsLanguages)(HANDLE, HANDLE);
void (*ShowPopupManager)(HANDLE, HWND__ *,unsigned short const *);
void (*ConfigurePopupExemption)(HANDLE, HWND__ *,int,unsigned short const *,int *);
void (*ConfigurePopupMgr)(HANDLE, HWND__ *,int);
void (*RemoveFirstHomePage)(HANDLE);
void (*SetHomePage)(HANDLE, HWND__ *,long, _ITEMIDLIST * /* CHECK (_ITEMIDLIST_ABSOLUTE * *)*/,long);
void (*RemoveHomePage)(HANDLE, HWND__ *,int);
void (*FixInternetSecurity)(HANDLE, HWND__ *,int *);
void (*ShowManageAddons)(HANDLE, HWND__ *,unsigned long,_GUID *,unsigned int,int);
void (*CacheExtFileVersion)(HANDLE, _GUID const &,unsigned short const *);
void (*ShowAxApprovalDlg)(HANDLE, HWND__ *,_GUID const &,int,unsigned short const *,unsigned short const *,unsigned short const *);
void (*SendLink)(HANDLE, _ITEMIDLIST * /* CHECK (_ITEMIDLIST_ABSOLUTE * *)*/, unsigned short const *);
void (*SendPage)(HANDLE, HWND__ *,IDataObject *);
void (*NewMessage)(HANDLE);
void (*ReadMail)(HANDLE, HWND__ *);
void (*SetAsBackground)(HANDLE, unsigned short const *);
void (*ShowSaveBrowseFile)(HANDLE, HWND__ *,unsigned short const *,unsigned short const *,int,int,unsigned short * *,unsigned long *,unsigned long *);
void (*SaveAsComplete)(HANDLE);
void (*SaveAsFile)(HANDLE);
void (*StartImportExportWizard)(HANDLE, int,HWND__ *);
void (*EditWith)(HANDLE, HWND__ *,unsigned long,unsigned long,unsigned long,unsigned short const *,unsigned short const *,unsigned short const *);
void (*ShowSaveImage)(HANDLE, HWND__ *,unsigned short const *,unsigned long,unsigned short * *);
void (*SaveImage)(HANDLE, unsigned short const *);
void (*CreateShortcutOnDesktop)(HANDLE, HWND__ *, _ITEMIDLIST const * /* CHECK (_ITEMIDLIST_ABSOLUTE * *)*/,unsigned short const *,IOleCommandTarget *);
void (*ShowSynchronizeUI)(HANDLE);
void (*OpenFolderAndSelectItem)(HANDLE, unsigned short const *);
void (*DoGetOpenFileNameDialog)(HANDLE, /*(_SOpenDlg *)*/ void *);
void (*ShowSaveFileName)(HANDLE, HWND__ *,unsigned short const *,unsigned short const *,unsigned short const *,unsigned short const *,unsigned int,unsigned short *,unsigned long,unsigned short const *,unsigned short * *);
void (*SaveFile)(HANDLE, HWND__ *,unsigned int,unsigned long);
void (*VerifyTrustAndExecute)(HANDLE, HWND__ *,unsigned short const *,unsigned short const *);
void (*GetFeedByUrl)(HANDLE, unsigned short const *,unsigned short * *);
void (*BrokerAddToFavoritesEx)(HANDLE, HWND__ *, _ITEMIDLIST const * /* CHECK (_ITEMIDLIST_ABSOLUTE * *)*/,unsigned short const *,unsigned long,IOleCommandTarget *,unsigned short *,unsigned long,unsigned short const *);
void (*Subscribe)(HANDLE, HWND__ *,unsigned short const *,unsigned short const *,int,int,int);
void (*MarkAllItemsRead)(HANDLE, unsigned short const *);
void (*MarkItemsRead)(HANDLE, unsigned short const *,unsigned int *,unsigned int);
void (*Properties)(HANDLE, HWND__ *,unsigned short const *);
void (*DeleteFeedItem)(HANDLE, HWND__ *,unsigned short const *,unsigned int);
void (*DeleteFeed)(HANDLE, HWND__ *,unsigned short const *);
void (*DeleteFolder)(HANDLE, HWND__ *,unsigned short const *);
void (*Refresh)(HANDLE, unsigned short const *);
void (*MoveFeed)(HANDLE, HWND__ *,unsigned short const *,unsigned short const *);
void (*MoveFeedFolder)(HANDLE, HWND__ *,unsigned short const *,unsigned short const *);
void (*RenameFeed)(HANDLE, HWND__ *,unsigned short const *,unsigned short const *);
void (*RenameFeedFolder)(HANDLE, HWND__ *,unsigned short const *,unsigned short const *);
void (*NewFeedFolder)(HANDLE, unsigned short const *);
void (*FeedRefreshAll)(HANDLE);
void (*ShowFeedAuthDialog)(HANDLE, HWND__ *,unsigned short const *, /*(tagFEEDTASKS_AUTHTYPE)*/ void *);
void (*ShowAddSearchProvider)(HANDLE, HWND__ *,unsigned short const *,unsigned short const *,int);
void (*InitHKCUSearchScopesRegKey)(HANDLE);
void (*DoShowDeleteBrowsingHistoryDialog)(HANDLE, HWND__ *);
void (*ResetInternetOptions)(HANDLE);
void (*StartAutoProxyDetection)(HANDLE);
void (*ForceNexusLookup)(HANDLE);
void (*SetAutoConnectOption)(HANDLE, unsigned short const *,unsigned long);
void (*EditAntiPhishingOptinSetting)(HANDLE, HWND__ *,unsigned long,int *);
void (*ShowMyPictures)(HANDLE);
void (*ChangeIntranetSettings)(HANDLE, HWND__ *,int);
void (*FixProtectedModeSettings)(HANDLE);
void (*ShowAddService)(HANDLE, HWND__ *,unsigned short const *,unsigned short const *,int);
void (*ShowAddWebFilter)(HANDLE, HWND__ *,unsigned short const *,unsigned short const *,unsigned short const *);
void (*DoBrowserRegister)(HANDLE, IDispatch *,long,int,long *);
void (*DoBrowserRevoke)(HANDLE, long);
void (*DoOnNavigate)(HANDLE, long,tagVARIANT *);
void (*AddDesktopComponent)(HANDLE, unsigned short *,unsigned short *,tagVARIANT *,tagVARIANT *,tagVARIANT *,tagVARIANT *);
void (*DoOnCreated)(HANDLE, long,IUnknown *);
void (*GetShellWindows)(HANDLE, /*(OUT)*/ IUnknown * *);
void (*RestoreTab)(HANDLE, long,unsigned long,long);
void (*SetPositionCookie)(HANDLE, unsigned long);
void (*IsProtectedModeUrl)(HANDLE, unsigned short const *);
void (*DoDiagnoseConnectionProblems)(HANDLE, HWND__ *,unsigned short *,unsigned short *);
void (*PerformDoDragDrop)(HANDLE, HWND__ *, /*(IEDataObjectWrapper *)*/ void *, /*(IEDropSourceWrapper *)*/ void *,unsigned long,unsigned long,unsigned long *,long *);
void (*TurnOnFeedSyncEngine)(HANDLE, HWND__ *);
void (*InternetSetPerSiteCookieDecisionW)(HANDLE, unsigned short const *,unsigned long);
void (*ConfirmCookie)(HANDLE, HWND__ *,unsigned long,unsigned long,/*(_BROKER_COOKIE_DLG_INFO *)*/ void *);
void (*SetAttachmentUserOverride)(HANDLE, unsigned short const *);
void (*WriteClassesOfCategory)(HANDLE, _GUID const &,int);
void (*BrokerSetFocus)(HANDLE, unsigned long,HWND__ *);
void (*BrokerShellNotifyIconA)(HANDLE, unsigned long,/* OK (_BROKER_NOTIFYICONDATAA *)*/ NOTIFYICONDATA *);
void (*BrokerShellNotifyIconW)(HANDLE, unsigned long,/* OK (_BROKER_NOTIFYICONDATAA *)*/ NOTIFYICONDATA *);
void (*DisplayVirtualizedFolder)(HANDLE);
void (*BrokerSetWindowPos)(HANDLE, HWND__ *,HWND__ *,int,int,int,int,unsigned int);
void (*WriteUntrustedControlDetails)(HANDLE, _GUID const &,unsigned short const *,unsigned short const *,unsigned long,unsigned char *);
void (*SetComponentDeclined)(HANDLE, char const *,char const *);
void (*DoShowPrintDialog)(HANDLE, /*OUT (_BROKER_PRINTDLG *)*/ void *);
void (*NavigateHomePages)(HANDLE);
void (*ShowAxDomainApprovalDlg)(HANDLE, HWND__ *,_GUID const &,int,unsigned short const *,unsigned short const *,unsigned short const *,unsigned short const *);
void (*ActivateExtensionFromCLSID)(HANDLE, HWND__ *,unsigned short const *,unsigned long,unsigned int,unsigned int);
void (*BrokerCoCreateNewIEWindow)(HANDLE, unsigned long,_GUID const &,void * *,int,unsigned long);
void (*BeginFakeModalityForwardingToTab)(HANDLE, HWND__ *,long);
void (*BrokerEnableWindow)(HANDLE, int,int *);
void (*EndFakeModalityForwardingToTab)(HANDLE, HWND__ *,long);
void (*CloseOldTabIfFailed)(HANDLE);
void (*GetGuidsForConnectedNetworks)(HANDLE, unsigned long *,unsigned short * * *,unsigned short * * *,unsigned short * * *,unsigned long *,unsigned long *);
void (*EnableSuggestedSites)(HANDLE, HWND__ *,int);
void (*SetProgressValue)(HANDLE, HWND__ *,unsigned long,unsigned long);
void (*BrokerStartNewIESession)(HANDLE);
void (*CompatDetachInputQueue)(HANDLE, HWND__ *);
void (*CompatAttachInputQueue)(HANDLE);
void (*SetToggleKeys)(HANDLE, unsigned long);
void (*RepositionInfrontIE)(HANDLE, HWND__ *,int,int,int,int,unsigned int);
void (*AddSessionIE7Rule)(HANDLE, unsigned short const *);
void (*ReportShipAssert)(HANDLE, unsigned long,unsigned long,unsigned long,unsigned short const *,unsigned short const *,unsigned short const *);
void (*AutoProxyGetProxyForUrl)(HANDLE, /*(tagProxyResolveUrl *)*/ tagProxyResolveUrl *, /* OUT (tagProxyResult *)*/ void *);
void (*AutoProxyReportRequestResults)(HANDLE, int,/*(tagProxyResolveUrl *)*/ tagProxyResolveUrl *,/* OUT (tagProxyResult *)*/ void *);
void (*ShowOpenSafeOpenDialog)(HANDLE, HWND__ *,/*(_BROKER_SAFEOPENDLGPARAM *)*/ void *,unsigned int *,unsigned int *);
void (*BrokerAddSiteToStartMenu)(HANDLE, HWND__ *,unsigned short *,unsigned short const *,long,unsigned long);
void (*SiteModeAddThumbnailButton)(HANDLE, unsigned int *,HWND__ *,unsigned short *,unsigned short const *);
void (*SiteModeAddButtonStyle)(HANDLE, int *,HWND__ *,unsigned int,unsigned short *,unsigned short const *);
void (*IsSiteModeFirstRun)(HANDLE, int,unsigned short *);
void (*BrokerDoSiteModeDragDrop)(HANDLE, unsigned long,long *,unsigned long *);
void (*EnterUILock)(HANDLE, long);
void (*LeaveUILock)(HANDLE, long);
void (*destructor)(HANDLE, unsigned int);
} SHBROKER, *SHBROKER_IFACE;
typedef struct ShBroker_obj {
SHBROKER_IFACE iface;
int a;
void *p1;
void *p2;
void *p3;
} SH_BROKER_OBJ;
// [5]
// IERecoveryStore (ieframe.dll)
typedef struct IERecoveryStore {
void (*QueryInterface)(HANDLE, _GUID *,void * *);
void (*AddRef)(HANDLE);
void (*Release)(HANDLE);
void (*Initialize)(HANDLE, unsigned long, _GUID *,unsigned long,unsigned short const *);
void (*InitializeFromFile)(HANDLE, unsigned short const *,_GUID *,unsigned long);
void (*CreateFrame)(HANDLE, unsigned int *,unsigned long,unsigned long);
void (*CloseFrame)(HANDLE, unsigned int);
void (*GetFrameCount)(HANDLE, unsigned int *);
void (*GetFrameId)(HANDLE, unsigned int,unsigned int *);
void (*GetFrameIESession)(HANDLE, unsigned int,unsigned long *,unsigned long *);
void (*CreateTab)(HANDLE, unsigned int,unsigned short const *,/* OUT (ITabRecoveryData * *)*/ void **);
void (*CloseTab)(HANDLE, unsigned int,_GUID const &);
void (*GetTabCount)(HANDLE, unsigned int,unsigned int *);
void (*GetTab)(HANDLE, unsigned int,unsigned int,/* OUT (ITabRecoveryData * *)*/ void **);
void (*GetCount)(HANDLE, long *);
void (*GetClosedTab)(HANDLE, _GUID *,/* OUT (ITabRecoveryData * *)*/ void **);
void (*DeleteClosedTab)(HANDLE, _GUID const &);
void (*Recover)(HANDLE, /* NULL(ITabWindowManager *)*/ void *,unsigned long);
void (*RecoverFrame)(HANDLE,/*NULL (ITabWindowManager *)*/ void *,unsigned long,unsigned int);
void (*Flush)(HANDLE);
void (*DeleteSelf)(HANDLE);
void (*DeleteAllTabs)(HANDLE);
void (*DeleteOnLastRelease)(HANDLE);
void (*Shutdown)(HANDLE);
void (*Restart)(HANDLE);
void (*IsShutdown)(HANDLE, int *);
void (*IsRestart)(HANDLE, int *);
void (*GetID)(HANDLE, long *);
void (*IsInPrivate)(HANDLE, int *);
void (*IsExtOff)(HANDLE, int *);
void (*GetFrameCLSID)(HANDLE, _GUID *);
void (*SetActiveTab)(HANDLE, unsigned int,_GUID const &);
void (*GetActiveTab)(HANDLE, unsigned int,_GUID *);
void (*SwitchTabFrame)(HANDLE, unsigned int,unsigned int,_GUID const &);
void (*DeleteExistingStores)(HANDLE);
void (*FindCrashedSessions)(HANDLE, int *,int *);
} IERECOVERY_STORE, *IERECOVERY_STORE_IFACE;
typedef struct IERecoveryStore_obj {
IERECOVERY_STORE_IFACE iface;
int a;
void *p1;
void *p2;
void *p3;
} IERECOVERY_STORE_OBJ;
// [6]
// IEAxInstallBroker (ieframe.dll)
typedef struct IeAxInstallBroker {
void (*QueryInterface_ad12)(HANDLE, _GUID *,void * *);
void (*AddRef_ad12)(HANDLE);
void (*Release_ad12)(HANDLE);
void (*BrokerGetAxInstallBroker)(HANDLE, _GUID *,_GUID *,HWND__ *,unsigned long,IUnknown * *);
} IEAXINSTALLBROKER, *IEAXINSTALLBROKER_IFACE;
typedef struct IEAxInstallBroker_obj {
IEAXINSTALLBROKER_IFACE iface;
int a;
void *p1;
void *p2;
void *p3;
} IEAXINSTALLBROKER_OBJ;
// [7]
// SettingsStore (ieutil.dll)
typedef struct SettingsStore {
void (*QueryInterface)(HANDLE, _GUID *,void * *);
void (*AddRef)(HANDLE);
void (*Release)(HANDLE);
void (*SetValue)(HANDLE, _GUID *,int,int,unsigned char *,unsigned long);
void (*SetExtValue)(HANDLE, _GUID *,int,int,tagSAFEARRAY *,unsigned char *,unsigned long);
void (*DeleteValue)(HANDLE, _GUID *,int);
void (*DeleteExtValue)(HANDLE, _GUID *,int,tagSAFEARRAY *);
void (*DeleteKey)(HANDLE, _GUID *,int);
void (*DeleteExtKey)(HANDLE, _GUID *,int,tagSAFEARRAY *);
} SETTINGSSTORE, *SETTINGSSTORE_IFACE;
typedef struct SettingsStore_obj {
SETTINGSSTORE_IFACE iface;
int a;
void *p1;
void *p2;
void *p3;
} SETTINGSSTORE_OBJ;
// [8]
// IERegHelperBroker (ieframe.dll)
typedef struct IERegHelperBroker {
void (*QueryInterface_ad4)(HANDLE, _GUID *,void * *);
void (*AddRef_ad4)(HANDLE);
void (*Release_ad4)(HANDLE);
void (*DoDelSingleValue)(HANDLE, unsigned long);
void (*DoDelIndexedValue)(HANDLE, unsigned long,unsigned long);
void (*DoSetSingleValue)(HANDLE, unsigned long,unsigned char *,unsigned long);
void (*DoSetIndexedValue)(HANDLE, unsigned long,unsigned long,unsigned char *,unsigned long);
void (*Reduce)(HANDLE, IBindCtx *,unsigned long,IMoniker * *,IMoniker * *);
void (*DoCreateKey)(HANDLE, unsigned long);
} IEREGHELPER_BROKER, *IEREGHELPER_BROKER_IFACE;
typedef struct IERegHelperBroker_obj {
IEREGHELPER_BROKER_IFACE iface;
int a;
void *p1;
void *p2;
void *p3;
} IEREGHELPER_BROKER_OBJ;
// [9]
// IERegHelperCleanup (ieframe.dll)
typedef struct IERegHelperCleanup {
void (*QueryInterface_ad8)(HANDLE, _GUID *,void * *);
void (*AddRef_ad8)(HANDLE);
void (*Release_ad8)(HANDLE);
void (*RegisterCleanup)(HANDLE, /*(IeRegHelperObjectCleanup *)*/ IUnknown *);
} IEREGHELPER_CLEANUP, *IEREGHELPER_CLEANUP_IFACE;
typedef struct IERegHelperCleanup_obj {
IEREGHELPER_CLEANUP_IFACE iface;
int a;
void *p1;
void *p2;
void *p3;
} IEREGHELPER_CLEANUP_OBJ;
//[10]
//IeBrokerAttach (ieframe.dll)
typedef struct IeBrokerAttach {
void (*QueryInterface_ad16)(HANDLE, _GUID *,void * *);
void (*AddRef_ad16)(HANDLE);
void (*Release_ad16)(HANDLE);
void (*AttachIEFrameToBroker)(HANDLE, IUnknown *);
} IEBROKERATTACH, *IEBROKERATTACH_IFACE;
// IeBrokerAttach object
typedef struct IEBrokerAttach_obj {
IEBROKERATTACH_IFACE iface;
int a;
void *p1;
void *p2;
void *p3;
} IEBROKERATTACH_OBJ;
// [11]
// FeedsArbiterLoriBroker interface (msfeeds.dll)
// No symbols
typedef struct FeedsArbiterLoriBroker {
void (*m0)(HANDLE, ...);
void (*m1)();
void (*m2)();
void (*m3)();
void (*m4)(HANDLE, ...);
} FEEDSARBITERLORI_BROKER, *FEEDSARBITERLORI_BROKER_IFACE;
typedef struct FeedsArbiterLoriBroker_obj {
FEEDSARBITERLORI_BROKER_IFACE iface;
int a;
void *p1;
void *p2;
void *p3;
} FEEDSARBITERLORI_BROKER_OBJ;
// [12]
// FeedsLoriBroker interface (msfeeds.dll)
// No symbols
typedef struct FeedsLoriBroker {
void (*m0)(HANDLE, ...);
void (*m1)(HANDLE, ...);
void (*m2)(HANDLE, ...);
void (*m3)(HANDLE, ...);
void (*m4)(HANDLE, ...);
void (*m5)(HANDLE, ...);
void (*m6)(HANDLE, ...);
void (*m7)(HANDLE, ...);
void (*m8)(HANDLE, ...);
void (*m9)(HANDLE, ...);
void (*m10)(HANDLE, ...);
} FEEDSLORI_BROKER, *FEEDSLORI_BROKER_IFACE;
typedef struct FeedsLoriBroker_obj {
FEEDSLORI_BROKER_IFACE iface;
int a;
void *p1;
void *p2;
void *p3;
} FEEDSLORI_BROKER_OBJ;
// [13]
// IShellWindow interface (iertutil.dll)
typedef struct ShellWindow {
void (*QueryInterface_ad40 )(HANDLE, _GUID *,void * *);
void (*AddRef_ad40)(HANDLE);
void (*Release_ad40 )(HANDLE);
void (*get_alinkColor)(HANDLE, tagVARIANT *);
void (*SetMenuSB)(HANDLE, HMENU__ *,void *,HWND__ *);
void (*UpdateEntryEx)(HANDLE, IUnknown *,int,int,int,int);
void (*Invoke)(HANDLE, long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *);
void (*get_alinkColor2)(HANDLE, tagVARIANT *);
void (*UpdateEntryEx2)(HANDLE, IUnknown *,int,int,int,int);
void (*SetSearchTerm)(HANDLE, unsigned short *);
void (*Register)(HANDLE, IDispatch *,long,int,long *);
void (*RegisterPending)(HANDLE, long,tagVARIANT *,tagVARIANT *,int,long *);
void (*Revoke)(HANDLE, long);
void (*AddEntry)(HANDLE, IUnknown *,int);
void (*AddEntry2)(HANDLE, IUnknown *,int);
void (*FindWindowSW)(HANDLE, tagVARIANT *,tagVARIANT *,int,long *,int, IDispatch * *);
void (*OnCreated)(HANDLE, long,IUnknown *);
void (*get_alinkColor3)(HANDLE, tagVARIANT *);
} SHELLWINDOW, *SHELLWINDOW_IFACE;
typedef struct ShellWindow_Obj {
SHELLWINDOW_IFACE iface;
int a;
void *p1;
void *p2;
void *p3;
} SHELLWINDOW_OBJ;
// Get the IEUserBroker interface (tested)
IE_USER_BROKER_OBJ* getUserBrokerInterface();
// Get the ProtecteModeAPI interface (tested)
PROTECTED_MODE_OBJ* getProtectedModeAPIInterface();
// Get the ShDocvwBroker interface (tested)
SH_BROKER_OBJ* getShBrokerIface();
// Get the IERecoveryStore interface (tested)
IERECOVERY_STORE_OBJ* getRecoveryStoreIface();
// Get the SettingsStore interface (tested)
SETTINGSSTORE_OBJ* getSettingsStoreIface();
// Get the IERegHelperBroker interface (tested)
IEREGHELPER_BROKER_OBJ* getIERegHelperBrokerIface();
// Get the IERegHelperCleanup interface (not working)
IEREGHELPER_CLEANUP_OBJ* getIERegHelperCleanupIface();
// Get the IEBrokerAttach interface (tested)
IEBROKERATTACH_OBJ* getIEBrokerAttachIface();
// Get the IEAxInstallBroker interface (tested)
IEAXINSTALLBROKER_OBJ* getIEAxInstallBrokerIface();
// Get the FeedsLoriBroker interface (tested)
FEEDSLORI_BROKER_OBJ* getFeedsLoriBrokerIface();
// Get the FeedsArbiterLoriBroker interface (tested)
FEEDSARBITERLORI_BROKER_OBJ* getFeedsArbiterLoriBrokerIface();
// Get the ShellWindow interface (tested)
SHELLWINDOW_OBJ* getShellWindowIface();
/***** BROKER CALL WRAPPERS ************/
/*****************************/
/**** IEUserBroker object ****/
/*****************************/
void IEUserBroker_QueryInterface(IE_USER_BROKER_OBJ *, struct _GUID *, void *);
void IEUserBroker_Initialize(IE_USER_BROKER_OBJ *, long, long, void *);
void IEUserBroker_CreateKnownObject(IE_USER_BROKER_OBJ *, struct _GUID *, struct _GUID *, void *);
/*****************************/
/**** StdIdentity object *****/
/*****************************/
void CStdIdentity_QueryInterfaces(STD_IDENTITY_OBJ *, struct _GUID *, void **);
void CStdIdentity_QueryInternalInterface(STD_IDENTITY_OBJ *, struct _GUID *, void **);
/*********************************/
/**** ProtectedModeAPI object ****/
/*********************************/
void ProtectedModeAPI_ShowDialog(PROTECTED_MODE_OBJ *, HANDLE, LPWSTR, LPWSTR, LPCWSTR, LPCWSTR, DWORD, DWORD, LPWSTR *);
void ProtectedModeAPI_QueryInterface(PROTECTED_MODE_OBJ *, struct _GUID *, void **);
/******************************/
/**** ShdocvwBroker object ****/
/******************************/
void ShBroker_QueryInterface(SH_BROKER_OBJ *, struct _GUID *, void **);
void ShBroker_ShowLang(SH_BROKER_OBJ *, HANDLE);
/********************************/
/**** IESettingsStore object ****/
/********************************/
void SettingsStore_QueryInterface(SETTINGSSTORE_OBJ *, struct _GUID *, void **);
void SettingsStore_DeleteValue(SETTINGSSTORE_OBJ *, _GUID *, int);
/********************************/
/**** IERecoveryStore object ****/
/********************************/
void IERecoveryStore_QueryInterface(IERECOVERY_STORE_OBJ *, struct _GUID *, void **);
void IERecoveryStore_Shutdown(IERECOVERY_STORE_OBJ *);
/********************************/
/**** IERegHelperBroker object ****/
/********************************/
void IERegHelperBroker_QueryInterface(IEREGHELPER_BROKER_OBJ *, struct _GUID *, void **);
void IERegHelperBroker_DoCreateKey(IEREGHELPER_BROKER_OBJ *, int);
/********************************/
/**** IERegHelperCleanup object ****/
/********************************/
void IERegHelperCleanup_QueryInterface(IEREGHELPER_CLEANUP_OBJ *, struct _GUID *, void **);
void IERegHelperCleanup_RegisterCleanup(IEREGHELPER_CLEANUP_OBJ *, IUnknown *);
/********************************/
/**** IEBrokerAttach object ****/
/********************************/
void IEBrokerAttach_QueryInterface(IEBROKERATTACH_OBJ *, struct _GUID *, void **);
void IEBrokerAttach_AttachIEFrameToBroker(IEBROKERATTACH_OBJ* , IUnknown *);
/***********************************/
/**** IEAxInstallBroker object ****/
/**********************************/
void IEAxInstallBroker_QueryInterface(IEAXINSTALLBROKER_OBJ *, struct _GUID *, void **);
void IEAxInstallBroker_GetAxInstallBroker(IEAXINSTALLBROKER_OBJ *, HWND *, IUnknown **);
/***********************************/
/**** FeedsLoriBroker object ****/
/**********************************/
void FeedsLori_QueryInterface(FEEDSLORI_BROKER_OBJ *, struct _GUID *, void **);
/***********************************/
/**** FeedsArbiretLoriBroker object ****/
/**********************************/
void FeedsArbiterLori_QueryInterface(FEEDSARBITERLORI_BROKER_OBJ *, struct _GUID *, void **);
/***********************************/
/**** ShellWindow object ****/
/**********************************/
void ShellWindow_QueryInterface(SHELLWINDOW_OBJ *, struct _GUID *, void **);