Share via


About Internet Locator Service API

The following apply to Internet Locator Service (ILS) COM objects:

  • The ILS object supporting the IIlsMain interface is the first COM object a client application must create to make use of ILS. The methods provided by the ILS object are stateless; the ILS object is not registered or deregistered on a server.

    The COM layer of the ILS client needs to handle all event notifications from the LDAP provider layer, and this is accomplished more efficiently if there is only one dispatcher—the ILS object. Therefore, only one ILS object can be created per application instance.

  • All other objects can be created through a method in other objects or by enumerating the objects. For example, you can retrieve an IIlsUser interface pointer through IIlsMain::CreateUser, IIlsMain::GetUser, or through the IEnumIlsUsers interface retrieved through IIlsMain::EnumUsers. The object is created with a default interface (for example, a User object is created with IIlsUser.) The client application can obtain other interfaces by calling the QueryInterface method.

  • Objects are enumerated through the Enumerator object. An Enumerator object is created through a method from an interface of another object. This automatically provides the context of the objects to be enumerated. For instance, a list of Protocol objects whose enumerator is obtained from IIlsUser is the set of protocols the user's application is registering to the ILS server.

  • Some operations on the objects—that is, methods in their interfaces—are asynchronous and require an asynchronous notification to the client application. The notification mechanism uses the connectable object model in the COM architecture. To be notified by the object of the asynchronous events, the client application must provide a defined sink object interface.

  • Note that some interfaces or methods are not yet implemented. If an interface is not supported, the object returns E_NOINTERFACE. If a method is not supported, the calling method returns E_NOTIMPL.

  • ILS requires the client application to call it from a user interface (UI) thread. A message pump in the caller application is necessary so that the ILS can receive notification messages.

See Country Codes for a list of NetMeeting country codes.

For more information and guidelines refer to the ILS Extended Attributes and Implementing Filters in ILS Queries tutorials.