# RevokeBindStatusCallback

Revokes a bind status callback interface previously registered on a bind context.

HRESULT RevokeBindStatusCallback(

IBindCtx *pbc, | //Pointer to the bind context from which the callback is to be revoked
IBindStatusCallback *pbsc | //Pointer to the callback interface to revoke
); |

Parameters

pbc
  [in] Pointer to the IBindCtx interface for the bind context from which the callback interface is to be revoked.
pbsc
  [in] Pointer to the IBindStatusCallback interface to revoke.

Return Values

S_OK
  The operation was successful.
E_FAIL
  The callback interface specified is not registered on the specified bind context.
E_INVALIDARG
  One or more parameters are invalid.

Remarks

RevokeBindStatusCallback will not succeed if it is made during a bind operation.

Note that it is not necessary to make this call for every use of a bind context. It is possible (although not recommended) to reuse the same bind context and the same callback for several bind operations. Upon calling IBindCtx::Release, all registered objects on that bind context are revoked, including the callback interfaces. Therefore, releasing a bind context implicitly releases all registered callbacks. However, if one chooses to reuse a bind context, one can use RevokeBindStatusCallback to remove a registered callback so it is not re-used.

See Also

IBindStatusCallback, RegisterBindStatusCallback