What's New in Internet Explorer 8 (C++)

This page lists the new added in Windows Internet Explorer 8 for C++ developers.

Overviews

Mapping ARIA Roles, States, and Properties to UI Automation

The World Wide Web Consortium (W3C) defines Accessible Rich Internet Applications (ARIA) as a syntax for making dynamic Web content and custom UI accessible. Internet Explorer 8 recognizes the ARIA role, state, and property information and exposes it to assistive technologies, which in turn can use the Microsoft Active Accessibility and/or Microsoft UI Automation APIs to retrieve the information. Instead of building separate simplified Web pages for accessibility, you can use ARIA to mark up your rich Web applications with roles, states, and properties. For example, to match the behavior you create through a script, you can define a div element as a button, checkbox, or another ARIA role.

Non-Admin ActiveX Controls

For many existing and future Microsoft ActiveX controls, Internet Explorer 8 removes administrative involvement from the installation process. The solution addresses issues raised by enterprise customers who used previous versions of Internet Explorer, where administration of controls was not optimal. Non-administrative ActiveX controls (or per-user ActiveX installation) is available on Windows Vista and later.

Per-Site ActiveX Controls

Internet Explorer 8 allows greater control of where and under what context ActiveX controls can run. In this version of Internet Explorer, ActiveX controls that are embedded as Web objects are presented to the user as add-ons. Through the new Manage Add-ons dialog box, the registry, or site-locking technology (such as the SiteLock ATL Template), these add-ons can be restricted for use on specific Web sites.

Protected Mode Broker Functions

Internet Explorer 8 in Windows Vista provides broker functions that allow access between applications, processes, and resources secured to other integrity levels.

What's New for Accessibility in Internet Explorer 8

Internet Explorer 8 contains several new features that support assistive technology client applications.

Windows 7 Accelerator Platform

The Accelerator Platform is a powerful tool for integrating Web services in Internet Explorer 8, but it's actually surprisingly simple to use from within other applications on Windows 7. This article describes how a developer might access the features of the Accelerator Platform from code with examples in C#.

Functions

AcquireModalDialogLockAndParent

Notify Internet Explorer that the caller will handle its own message loop.

DecodeImageEx

Decodes an image using a specified MIME type.

IEAssociateThreadWithTab

Associates a UI thread with a tab in Internet Explorer.

IECreateDirectory

Creates a new directory by calling the standard CreateDirectory function from a higher-integrity user context.

IECreateFile

Calls the standard CreateFile function from a higher-integrity user context. Creates or opens a file, file stream, directory, physical disk, volume, console buffer, tape drive, communications resource, mailslot, or named pipe. The function returns a handle that can be used to access the object.

IEDeleteFile

Calls the standard DeleteFile from a higher integrity user context to delete an existing file.

IEDisassociateThreadWithTab

Removes a UI thread association.

IEFindFirstFile

Calls the standard FindFirstFile function from a higher-integrity user context. Searches a directory for a file or subdirectory with a name that matches a specific name.

IEGetFileAttributesEx

Calls the standard GetFileAttributesEx function from a higher-integrity user context. Retrieves attributes for a specified file or directory.

IEGetProtectedModeCookie

Calls the standard InternetGetCookieEx from a higher-integrity user context. Retrieves the cookie data from the protected mode cookie store.

IEInPrivateFilteringEnabled

Determines whether InPrivate Filtering is enabled.

IEInstallScope

This function provides the current Install Scope to a ActiveX

IEIsInPrivateBrowsing

Determines whether InPrivate Browsing is enabled.

IEIsXMLNSRegistered

Determines if the specified XML namespace is registered.

IEMoveFileEx

Calls the standard MoveFileEx function from a higher-integrity user context. Moves an existing file or directory, including its children, with various move options.

IERegCreateKeyEx

Calls the standard RegCreateKeyEx from a higher-integrity user context. Creates the specified registry key. If the key already exists, the function opens it. Note that key names are not case sensitive.

IERegisterWritableRegistryKey

Calls the standard RegCreateKeyEx from a higher-integrity user context. Registers a key during installation so that low integrity processes can write into this location during run time.

IERegisterWritableRegistryValue

This function calls the standard RegCreateKeyEx from a higher-integrity user context. It registers a value in a path during installation so that low-integrity processes can write into this location during run time.

IERegisterXMLNS

Registers the XML namespace.

IERegSetValueEx

Calls the standard RegSetValueEx from a higher-integrity user context. This function sets the data and type of a specified value under a registry key.

IERemoveDirectory

Calls the standard RemoveDirectory function from a higher-integrity user context. Deletes an existing empty directory.

IESetProtectedModeCookie

Calls the standard InternetSetCookieEx from a higher-integrity user context. Creates a cookie with a specified name that is associated with a specified URL.

IEUnregisterWritableRegistry

Unregister and delete a registry that was registered for writable.

ReleaseModalDialogLockAndParent

Free and cleanup any resources initialized in AcquireModalDialogLockAndParent.

WaitForTabWindow

Waits for a tab window to become visible.

Interfaces

IAuthenticateEx

Provides the URL moniker with information to authenticate the user.

IBindStatusCallbackEx

Implements the notification object for an asynchronous bind operation.

IDeleteBrowsingHistory

Notifies third-party extensions when browsing history is deleted by the user.

IDocumentSelector

Implements the W3C Selectors API. The selectors API supports searching for one or more elements that match a given CSS Selector string.

IElementSelector

Implements the W3C Selectors API. The W3C Selectors API supports searching for one or more elements that match a given CSS Selector string.

IEnumOpenServiceActivity

Enumerates all OpenService Accelerator objects.

IEnumOpenServiceActivityCategory

Enumerates all OpenService Accelerator categories.

IEProcess

Static helper class used for binding to the IEProcess export tables.

IHeaderFooter2

Extends IHeaderFooter.

IHlink

Except for GetMonikerReference, GetStringReference, GetTargetFrame, and GetMiscStatus, the IHlink interface methods are deprecated in Internet Explorer 8 and later.

IHTMLAnchorElement3

Designates the destination of a hypertext link. It extends the IHTMLAnchorElement2 interface.

IHTMLAreaElement2

Specifies the shape of a hot spot in a client-side image map. It extends the IHTMLAreaElement interface.

IHTMLAreasCollection4

Extends the IHTMLAreasCollection3 interface.

IHTMLAttributeCollection3

Provides the ability to programmatically access items in an element's attribute collection. Extends the IHTMLAttributeCollection2 interface.

IHTMLBaseElement2

Specifies the base URL for the document. It extends the IHTMLBaseElement2 interface.

IHTMLBlockElement3

Extends the IHTMLBlockElement and IHTMLBlockElement2 interfaces.

IHTMLBodyElement3

This interface extends the IHTMLBodyElement2 interfaces with support for Asynchronous JavaScript and XML (AJAX) Connection Services.

IHTMLCurrentStyle5

Extends the IHTMLCurrentStyle4 interface with Cascading Style Sheets, Level 2.1 (CSS2.1) properties for Internet Explorer 8.

IHTMLDocument6

Extends IHTMLDocument5 with support for document compatibility modes and Web Storage events.

IHTMLDocumentCompatibleInfo

Provides information about the compatibity mode specified by the web page. If the web page specifies multiple compatibility modes, they can be retrieved using IHTMLDocumentCompatibleInfoCollection.

IHTMLDocumentCompatibleInfoCollection

Provides methods for accessing items in the collection of document compatibility strings supported by the webpage.

IHTMLDOMAttribute3

Provides programmatic access to the properties and methods that are common to all element objects; extends the IHTMLDOMAttribute interface.

IHTMLDOMConstructor

Provides access to the constructor object and the prototype object of an object's interface object.

IHTMLDOMConstructorCollection

Returns a reference to the constructor for objects derived from the interface objects supported by the Internet Explorer

IHTMLElement5

Provides access to the properties and methods that are common to all element objects.

IHTMLElementCollection4

This interface extends the IHTMLElementCollection3 interface.

IHTMLEmbedElement2

This interface extends the IHTMLEmbedElement interface.

IHTMLEventObj5

Extends IHTMLEventObj4 with event properties for onmessage, onstorage, and onstoragecommit.

IHTMLFormElement4

This interface extends the IHTMLFormElement, IHTMLFormElement2, and IHTMLFormElement3 interfaces.

IHTMLFrameElement3

This interface extends the IHTMLFrameElement and IHTMLFrameElement2 interfaces.

IHTMLHeadElement2

This interface extends the IHTMLHeadElement interface.

IHTMLIFrameElement3

This interface extends the IHTMLIFrameElement and IHTMLIFrameElement2 interfaces.

IHTMLImgElement3

This interface extends the IHTMLImgElement and IHTMLImgElement2 interfaces.

IHTMLInputElement3

This interface extends the IHTMLInputElement and IHTMLInputElement2 interfaces.

IHTMLLinkElement4

This interface extends the IHTMLLinkElement, IHTMLLinkElement2, and IHTMLLinkElement3 interfaces.

IHTMLMetaElement3

This interface extends the IHTMLMetaElement and IHTMLMetaElement2 interfaces.

IHTMLObjectElement4

This interface extends the IHTMLObjectElement, IHTMLObjectElement2, and IHTMLObjectElement3 interfaces.

IHTMLParamElement2

This interface extends the IHTMLParamElement interface.

IHTMLPhraseElement3

This interface extends the IHTMLPhraseElement2 interface.

IHTMLRuleStyle6

Extends the IHTMLRuleStyle5 interface with Cascading Style Sheets, Level 2.1 (CSS2.1) properties for Internet Explorer 8.

IHTMLScreen3

This interface provides information about the system's screen resolution. It extends the IHTMLScreen2 interface.

IHTMLScriptElement3

This interface extends the IHTMLScriptElement and IHTMLScriptElement2 interfaces.

IHTMLSelectElement5

Extends the IHTMLSelectElement4 interface.

IHTMLStorage

Represents a key/value list from Web Storage.

IHTMLStyle6

Extends the IHTMLStyle5 interface with Cascading Style Sheets, Level 2.1 (CSS2.1) properties for Internet Explorer 8.

IHTMLStyleSheet3

This interface extends the IHTMLStyleSheet and IHTMLStyleSheet2 interfaces.

IHTMLWindow6

This interface extends IHTMLWindow5 with AJAX connection services, cross-domain request, and Web Storage properties.

IHTMLXDomainRequest

Implements cross-domain AJAX requests between the browser and a server.

IHTMLXDomainRequestFactory

Creates an instance of the IHTMLXDomainRequest object.

IHTMLXMLHttpRequest2

Extends the IHTMLXMLHttpRequest interface.

IHttpNegotiate3

Extends the IHttpNegotiate interface with support for client certificates.

IIE70DispatchEx

Implements the IDispatchEx interface for IE7 Standards mode.

IIE80DispatchEx

Implements the IDispatchEx interface for IE8 Standards mode.

IInternetBindInfoEx

Extends IInternetBindInfo by providing additional data that the protocol might require.

INamespaceProxy

Handles NSC specifics for different bands.

INSCTree

This interface allows manipulation of a tree control object that works over the shell namespace.

INSCWinEventHandler

Allows a namespace tree control to handle window messages from its host.

IOpenService

Represents the basic OpenService Accelerator entry.

IOpenServiceActivity

Exposes details of and methods used to invoke an OpenService Accelerator.

IOpenServiceActivityCategory

Exposes methods that enumerate Accelerator objects in a category or change the default Accelerator in a category.

IOpenServiceActivityInput

Represents the input source against which an Accelerator can be executed or previewed.

IOpenServiceActivityManager

Exposes methods that third-party applications can use to access the OpenService Accelerator platform of Internet Explorer 8. This interface and its members is available only on Windows 7 and later.

IOpenServiceActivityOutputContext

Provides access to the output context of an Accelerator.

IOpenServiceManager

Exposes methods to install and remove XML-based Accelerators.

IShellFolderSearchable

This interface performs a search of the Internet Explorer cache to populate a history view.

IShellFolderViewType

This interface is implemented by the history shell folder to support multiple views.

IShellUIHelper3

Extends IShellUIHelper2 to add support for Internet Explorer 8.

ITemplatePrinter3

Extends ITemplatePrinter2 to retrieve author-specified page margins and to modify the font used for page header and footer.

Enumerations/Structures

AUTHENTICATEF Enumerated Type

Flags used by the IAuthenticateEx::AuthenticateEx method to pass information about the authentication request.

AUTHENTICATEINFO Structure

Contains additional information on the authentication operation.

BINDF2 Enumerated Type

Defines flags that specify how a resource is bound to a moniker. This type extends the BINDF enumerated type.

IELAUNCHOPTION_FLAGS Enumerated Type

Flags for launching Internet Explorer processes in Protected Mode.

IETabWindowExports Structure

Provides table of tab window related functions exported by the Internet Explorer process.

Install Scopes Constants

Install Scope bit flag values.

NewProcessCauseConstants Enumerated Type

Flags passed to the DWebBrowserEvents2::NewProcess event that describe why a new process has been created.

nscTreeMode Enumerated Type

OLECMDID_OPTICAL_ZOOMFLAG Enumerated Type

Flags passed with OLECMDID_OPTICAL_ZOOM command.

OpenServiceActivityContentType Enumerated Type

Specifies the content type, which is also called the Accelerator context.

OpenServiceErrors Enumerated Type

Specifies custom error values used by the OpenService Accelerator