IServiceProvider::QueryService
Creates or accesses the specified service and returns an interface pointer to
the specified interface for the service.
HRESULT QueryService(
REFGUID guidService,
|
//Unique identifier for the requested service
|
REFIID riid,
|
//Unique identifier for the requested interface
|
void** ppv
|
//Indirect pointer to the interface on the service
|
);
|
|
Parameter
-
guidService
-
[in] Unique identifier for the requestedservice.
-
riid
-
[in] Unique identifier for the requested interface on the service.
-
ppv
-
[out] Indirect pointer to the interface on the service.
Return Values
-
S_OK
-
The service was successfully created or retrieved.
-
E_OUTOFMEMORY
-
There is not enough memory to create the service.
-
E_UNEXPECTED
-
An unknown error occurred.
-
E_NOINTERFACE
-
The service exists but the requested interface is not provided by the service.
-
SVC_E_UNKNOWNSERVICE
-
The service identified with guidService is not recognized.
Note to Callers
The caller is responsible for releasing the interface pointer when it is no
longer needed.
Note to Implementers
Because there is only one method in this interface, E_NOTIMPL is not a valid
return code.