The following macros define the service map:
BEGIN_SERVICES_MAP()
Starts the list of services that the designer will access. The macro must appear in the class definition.
SERVICES_MAP_ENTRY (IID ServiceIID, IID InterfaceIID)
Specifies a required service by its interface ID and the ID of the service that contains it. Use this macro as many times as necessary to list each specific interface you require from a service.
END_SERVICES_MAP()
This macro ends the list of desired services.
Designers use the following macros to get pointers to interfaces that are part of a service:
GET_SERVICE_INTERFACE (IID ServiceIID, ppUnk *ppInterface)
Returns (at ppInterface) a pointer to the interface specified by the interface ID ServiceIID.
GET_SERVICE_INTERFACE_FROM_DERIVED_CLASS (pIID pServiceIID, ppUnk *ppInterface)
Returns (at ppInterface) a pointer to the interface specified at pServiceIID. This macro returns a service from the base class, not from the most derived class.
See Also