# IBinding

The IBinding interface provides methods that the client of an asynchronous moniker can call to control the progress of the bind operation. Asynchronous monikers call the client’s IBindStatusCallback::OnStartBinding method to provide the client with a pointer to the IBinding interface.

##### When to Implement

Implementations of custom asynchronous monikers must provide this interface to allow control of the bind operation. Usually, this interface is implemented on a separate object created by the asynchronous moniker for a particular bind operation.

##### When to Use

Clients of asynchronous monikers obtain a pointer to this interface when the moniker calls the client’s IBindStatusCallback::OnStartBinding method. They typically keep a reference to this interface to be able to control the progress of the bind operation or to receive protocol-specific information about the outcome of the bind operation.

Methods in Vtable Order

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

IBinding Methods | Description
Abort | Permanently aborts the bind operation
Suspend | Suspends the bind operation.
Resume | Resumes a suspended bind operation.
SetPriority | Establishes the priority for the bind operation.
GetPriority | Retrieves the current priority of this bind operation.
GetBindResult | Queries the protocol-specific outcome of a bind operation.