|  | Home | Libraries | People | FAQ | More | 
A resolver service must meet the requirements for an I/O object service, as well as the additional requirements listed below.
        In the table below, X denotes
        a resolver service class for protocol InternetProtocol,
        a denotes a value of type
        X, b
        denotes a value of type X::implementation_type,
        q denotes a value of type
        ip::basic_resolver_query<InternetProtocol>,
        e denotes a value of type
        ip::basic_endpoint<InternetProtocol>,
        ec denotes a value of type
        error_code, and h denotes a value meeting ResolveHandler requirements.
      
Table 23. ResolverService requirements
| expression | return type | 
                  assertion/note | 
|---|---|---|
| 
                   | 
                  From IoObjectService
                  requirements. Implicitly cancels asynchronous resolve operations,
                  as if by calling  | |
| 
 a.cancel(b, ec); 
 | 
                   | 
                  Causes any outstanding asynchronous resolve operations to complete
                  as soon as possible. Handlers for cancelled operations shall be
                  passed the error code  | 
| 
 a.resolve(b, q, ec); 
 | 
 ip::basic_resolver_iterator< InternetProtocol> 
 | 
                  On success, returns an iterator  | 
| 
 a.async_resolve(b, q, h); 
 | 
                  Initiates an asynchronous resolve operation that is performed via
                  the  | |
| 
 a.resolve(b, e, ec); 
 | 
 ip::basic_resolver_iterator< InternetProtocol> 
 | 
                  On success, returns an iterator  | 
| 
 a.async_resolve(b, e, h); 
 | 
                  Initiates an asynchronous resolve operation that is performed via
                  the  |