Contents Previous Page Next Page
IHttpNegotiate

During a bind operation, the moniker can obtain some additional bind information by calling the bind clientÆs IBindStatusCallback::GetBindInfo. In some cases, additional callback interfaces can be provided by the client requesting the bind operation to supply even more services to the moniker performing the bind. These additional interfaces are typically requested by the moniker calling IBindStatusCallback::QueryInterface for the interface desired. However, a moniker client can also provide additional interfaces through IServiceProvider.

In the case of URL monikers, the IHttpNegotiate interface is an additional callback interface that the client can provide.

When to Implement

Clients of URL monikers that want to participate in HTTP negotiations that take place when binding to HTTP URLs can implement this interface. The clients can then add headers to HTTP requests and can examine HTTP response headers.

Note that not all header types are currently supported. Specifically, clients should not add Content Length or Accept headers to HTTP requests. Instead of adding Accept headers, the client can call RegisterFormatEnumerator to specify accepted types for a bind operation.

Note that this callback interface can be provided by multiple clients of an HTTP bind operation. Each client can participate in the HTTP negotiation process by looking at existing request headers and adding new ones.

When to Use

The URL moniker calls this interface when bind operation requires HTTP negotiation. To get a pointer to this interface, the moniker calls the clientÆs IBindStatusCallback::QueryInterface.

Methods in Vtable Order

IUnknown Methods                          Description                                  
                                                                                       
QueryInterface                            
Returns pointers to supported interfaces.    
                                                                                       
AddRef                                    Increments the reference count.              
                                                                                       
Release                                   Decrements the reference count.              
                                                                                       

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.                           
                                                                                       

See Also

IWindow, IWinINetInfo