Interfaces

Interfaces


This section contains the interfaces exposed by monikers, URLs, security zones, and pluggable protocols.
IAsyncMoniker
IAuthenticate
IBindHost
IBinding
IBindProtocol
IBindStatusCallback
ICodeInstall
IDataFilter
IEncodingFilterFactory
IHttpNegotiate
IHttpSecurity
IInternet
IInternetBindInfo
IInternetHostSecurityManager
IInternetProtocol
IInternetProtocolInfo
IInternetProtocolRoot
IInternetProtocolSink
IInternetSecurityManager
IInternetSecurityMgrSite
IInternetSession
IInternetZoneManager
IPersistMoniker
ISoftDistExt
IWindowForBindingUI
IWinInetHttpInfo
IWinInetInfo

IAsyncMoniker

IAsyncMoniker provides an implementation of the IUnknown interface, which allows client programs to determine if a moniker supports asynchronous binding. No additional methods are supported by this interface.

IAuthenticate

Implemented by the client application to provide the URL moniker with information to authenticate the user.
IAuthenticate method Description
Authenticate Supplies authentication support to a URL moniker from a client application.

The Urlmon.dll will use the IUnknown::QueryInterface method on your implementation of IBindStatusCallback to obtain a pointer to your IAuthenticate interface. If the application is hosting Mshtml.dll, the Mshtml.dll will request a pointer to your IAuthenticate inteface by call IUnknown::QueryInterface on your IServiceProvider interface.

See also IHttpNegotiate, IServiceProvider, IWindowForBindingUI, and IWinInetInfo.

IBindHost

Implmented by an ActiveX container that wants controls to do asynchronous data transfers through it.
IBindHost methods Description
CreateMoniker Creates a moniker to bind to a URL.
MonikerBindToObject Binds the moniker to an object.
MonikerBindToStorage Binds the moniker to storage.
RemoteMonikerBindToObject Remotely binds a moniker to an object.
RemoteMonikerBindToStorage Remotely binds a moniker to storage.

IBinding

This interface provides methods that allow the client program using an asynchronous moniker to control the progress of the bind operation. An asynchronous moniker calls the client's IBindStatusCallback::OnStartBinding method to provide the client program with a pointer to the IBinding interface.
IBinding methods Description
Abort Permanently ends the bind operation
GetBindResult Queries the protocol-specific outcome of a bind operation.
GetPriority Not currently implemented.
RemoteGetBindResult Remotely queries the protocol-specific outcome of a bind operation.
Resume Not currently implemented.
SetPriority Not currently implemented.
Suspend Not currently implemented.

IBindProtocol

Not currently supported.

IBindStatusCallback

This interface accepts information on an asynchronous binding operation. A client requesting an asynchronous bind operation must provide a notification object exposing the IBindStatusCallback interface. The asynchronous moniker provides information on the bind operation to the client by calling notification methods on the client's IBindStatusCallback interface. This interface also allows the client to pass additional bind information to the moniker by calling IBindStatusCallback::GetBindInfo and IBindStatusCallback::GetPriority after receiving a call from IMoniker::BindToObject or IMoniker::BindToStorage.
IBindStatusCallback methods Description
GetBindInfo Gets bind information for the bind operation.
GetPriority Gets data during asynchronous bind operations.
OnDataAvailable Provides data to the client as it becomes available during asynchronous bind operations.
OnLowResource Not currently implemented.
OnObjectAvailable Passes the requested object interface pointer to the client.
OnProgress Indicates the current progress of this bind operation.
OnStartBinding Tells the client which callback methods it is registered to receive.
OnStopBinding Indicates the end of the bind operation.

Only the last IBindStatusCallback interface that was registered will be called.

ICodeInstall

Obsolete. Do not use.

IDataFilter

No currently implemented.

IEncodingFilterFactory

Not currently implemented.

IHttpNegotiate

Implemented by a client application to provide support for HTTP negotiations.
IHttpNegotiate methods Description
BeginningTransaction Notifies a client of a URL being bound to at the beginning of the HTTP transaction.
OnResponse Notifies a client upon receiving a response to an HTTP request.

The Urlmon.dll will use the IUnknown::QueryInterface method on your implementation of IBindStatusCallback to obtain a pointer to your IHttpNegotiate interface.

See also IWindowForBindingUI and IWinInetInfo.

IHttpSecurity

This interface notifies a client application of authentication problems.
IHttpSecurity method Description
OnSecurityProblem Notifies the client application about an authentication problem.

The Urlmon.dll will use the IUnknown::QueryInterface method on your implementation of IBindStatusCallback to obtain a pointer to your IHttpSecurity interface. If the application is hosting Mshtml.dll, the Mshtml.dll will request a pointer to your IHttpSecurity inteface by call IUnknown::QueryInterface on your IServiceProvider interface.

IInternet

IInternet provides an implementation of the IUnknown interface, which allows client programs to determine if asynchronous pluggable protocols are supported. No additional methods are supported by this interface.

IInternetBindInfo

This interface is implemented by the system and provides data that the protocol might need to bind successfully.
IInternetBindInfo methods Description
GetBindInfo Gets the BINDINFO structure associated with the binding operation.
GetBindString Gets the strings needed by the protocol for its operation.

IInternetHostSecurityManager

This interface is provided by the HTML host for components to use to manage security.
IInternetHostSecurityManager methods Description
GetSecurityId Retrieves the security identification of the host.
ProcessUrlAction Retrieves the policy associated with the URL action in the given context.
QueryCustomPolicy Retrieves the custom policy associated with the specified key in the given context.

Use SID_SInternetHostSecurityManager to request this interface when using IServiceProvider::QueryService.

IInternetProtocol

IInternetProtocol is the main interface that is exposed by an asynchronous pluggable protocol. This interface and IInternetProtocolSink communicate with each other very closely during download operations.
IInternetProtocol methods Description
LockRequest Locks the request so that IInternetProtocolRoot::Terminate can be called and the remaining data can be read.
Read Reads data retrieved by the pluggable protocol handler.
Seek Moves the current seek offset.
UnlockRequest Frees any resources associated with a lock. Called only if IInternetProtocol::LockRequest was called.

IInternetProtocolInfo

This interface provides information about the URL being handled by the protocol handler.
IInternetProtocolInfo methods Description
CombineUrl Combines a base and relative URL into a full URL.
CompareUrl Compares two URLs.
ParseUrl Parses an URL.
QueryInfo Retrieves information associated with an URL.

IInternetProtocolRoot

This interface is used to control the operation of an asynchronous pluggable protocol handler.
IInternetProtocolRoot methods Description
Abort Aborts an operation in progress.
Continue Allows the pluggable protocol handler to continue processing data on the apartment (or user interface) thread. This method is called in response to a call to IInternetProtocolSink::Switch.
Resume Not currently implemented.
Start Starts the class associated with the asynchronous pluggable protocol.
Suspend Not currently implemented.
Terminate Releases the resources used by the pluggable protocol handler.

IInternetProtocolSink

This interface receives the reports and binding data from the asynchronous pluggable protocol. It is a free-threaded interface and can be called from any thread.
IInternetProtocolSink methods Description
ReportData Reports the amount of data that is available on the thread.
ReportProgress Reports progress made in a state operation.
ReportResult Reports the result of an operation on the thread.
Switch Passes data from an asynchronous pluggable protocol's worker thread intended for the same asynchronous pluggable protocol's apartment thread. The IInternetProtocolSink should pass this data, without modification, back to the asynchronous pluggable protocol by calling its IInternetProtocolRoot::Continue method.

This interface is implemented by client applications interacting directly with an asynchronous pluggable protocol and pluggable MIME filters.

IInternetSecurityManager

This interface allows client applications to influence the security of the browser components.
IInternetSecurityManager methods Description
GetSecurityId Retrieves the domain of the given URL.
GetSecuritySite Retrieves the security site manager.
GetZoneMappings Retrieves the zone mappings.
MapUrlToZone Retrieves the zone index for the given URL.
ProcessUrlAction Determines the policy for the specified action and displays a user interface if the policy indicates that the user should be queried.
QueryCustomPolicy Retrieves the custom policy associated with the URL and specified key in the given context.
SetSecuritySite Sets the security site manager.
SetZoneMapping Maps a pattern into the specified zone.

Use SID_SInternetSecurityManager to request this interface when using IServiceProvider::QueryService.

IInternetSecurityMgrSite

This interface is provided by an HTML host to be used by components to manage the user interface of the security manager.
IInternetSecurityMgrSite methods Description
EnableModeless Enables or disables the use of modeless pop-up windows.
GetWindow Retrieves the handle to the parent window.

IInternetSession

This interface is implemented by the client application to create temporary pluggable protocol handlers.
IInternetSession methods Description
CreateBinding Not currently implemented.
GetCache Not currently implemented.
GetSessionOption Not currently implemented.
RegisterMimeFilter Temporarily registers a MIME filter.
RegisterNameSpace Temporarily registers a name space handler.
SetCache Not currently implemented.
SetSessionOption Not currently implemented.
UnregisterMimeFilter Unregisters a pluggable MIME filter.
UnregisterNameSpace Unregisters a temporary pluggable name space handler.

IInternetZoneManager

This interface is used by a host to control the security zone infrastructure.
IInternetZoneManager methods Description
CreateZoneEnumerator Creates a zone enumerator.
DestroyZoneEnumerator Destroys the zone enumerator.
GetZoneActionPolicy Retrieves the policy associated with the given URL action.
GetZoneAt Retrieves the zone associated with the specified index and enumerator.
GetZoneAttributes Retrieves the attributes of the specified zone.
GetZoneCustomPolicy Retrieves the custom policies associated with the zone.
LogAction Not currently implemented.
PromptAction Not currently implemented.
SetZoneActionPolicy Sets the policy associated with the given action on the specified zone.
SetZoneAttributes Sets the attributes of the specified zone.
SetZoneCustomPolicy Sets the custom policy on the specified zone.

IPersistMoniker

This interface provides methods that offer more control over the binding of persistent data.
IPersist method Description
GetClassID Returns the class identifier (CLSID) for the object.
IPersistMoniker methods Description
GetCurMoniker Retrieves the moniker that refers to the object's persistent state.
IsDirty Checks an object for changes since it was last saved.
Load Loads an object using a specified moniker.
Save Saves the object, specifying a destination moniker.
SaveCompleted Notifies the object that the save operation is complete.

ISoftDistExt

Not currently implemented.

IWindowForBindingUI

This interface allows clients of URL monikers to display information in the client's user interface when necessary. This interface is usually implemented by OLE containers that also implement the IBindHost interface.
IWindowForBindingUI method Description
GetWindow Returns an HWND for displaying user interface information.

IWinInetHttpInfo

This interface checks information on HTTP requests made through the underlying Win32® Internet functions.
IWinInetHttpInfo methods Description
QueryInfo Queries information about an HTTP request.
RemoteQueryInfo Remotely queries information about an HTTP request.

Client application can call IUnknown::QueryInterface on the IBinding interface to get a pointer to the IWinInetHttpInfo interface after your implementation of the IBindStatusCallback::OnProgress method has been called. Not all protocol schemes support this interface.

IWinInetInfo

This interface checks information on the underlying Win32 Internet functions.
IWinInetInfo methods Description
QueryOption Retrieves the Win32 Internet function option indicated.
RemoteQueryOption Remotely retrieves the Win32 Internet function option indicated.

Client application can call IUnknown::QueryInterface on the IBinding interface to get a pointer to the IWinInetInfo interface after your implementation of the IBindStatusCallback::OnProgress method has been called. Not all protocol schemes support this interface.

© 1997 Microsoft Corporation. All rights reserved. Terms of Use.