An asynchronous moniker calls this method to query the client for additional services necessary to complete the bind operation.
HRESULT QueryInterface(
REFIID riid, //Interface identifier for the requested service
void **ppvObject
//Address of output variable that receives the
// interface pointer requested in riid
);
This method provides extensibility to the IBindStatusCallback interface by allowing the moniker to query its client for additional callback interfaces to notify the client or query the client for further information.
The client of an asynchronous moniker can provide additional callback interfaces through the IServiceProvider interface. After the moniker calls IBindStatusCallback::QueryInterface to directly query for an extension interface, the moniker can then query for the IServiceProvider interface and can call IServiceProvider::QueryService to query for the desired extension interface. Because IServiceProvider::QueryService is not restricted by COM identity rules that apply to the IBindStatusCallback::QueryInterface method, the IServiceProvider::QueryService method allows moniker clients to delegate extension services to other objects. Note that if a client is delegating an IServiceProvider::QueryService request to a different callback object, the client should first delegate an interface acquired through the second object's IBindStatusCallback::QueryInterface before querying the second object for IServiceProvider.
Windows NT: Use version 5.0 or later.
Windows: Unsupported.
Windows CE: Unsupported.
Header: Declared in urlmon.h.