QueryService method

Acts as the factory method for any services exposed through an implementation of IServiceProvider.


HRESULT retVal = object.QueryService(guidService, riid, ppv);


  • guidService [in]
    Type: REFGUID

    The unique identifier of the service (an SID).

  • riid [in]
    Type: REFIID

    The unique identifier of the interface that the caller wants to receive for the service.

  • ppv [out]
    Type: void

    The address of the caller-allocated variable to receive the interface pointer of the service on successful return from this function. The caller becomes responsible for calling Release through this interface pointer when the service is no longer required.


QueryService creates or accesses the implementation of the service identified with guidService. In ppv, it returns the address of the interface that is specified by riid.