You are reading help file online using chmlib.com
|
ISpResourceManager::GetObject retrieves a service object from the current service list, or creates one if it does not exist.
HRESULT GetObject(
REFGUID guidServiceId,
REFCLSID ObjectCLSID,
REFIID ObjectIID,
BOOL fReleaseWhenNoRefs,
void **ppObject
);
Value | Description |
---|---|
S_OK | Function completed successfully. |
E_INVALIDARG | One or more parameters are invalid. |
E_POINTER | ppObject is bad or invalid. |
REGDB_E_CLASSNOTREG | Class is not registered. |
E_OUTOFMEMORY | Exceeded available memory. |
FAILED(hr) | Appropriate error message. |
If the object does not exist, the ObjectCLSID parameter will be used to CoCreateInstance the object. This functionality allows multiple threads to ensure that a single shared object is created atomically by the resource manager. If the fReleaseWhenNoRefs flag is set to TRUE, the final release of the object will remove it from the service list. If fReleaseWhenNoRefs is FALSE, the service will remain in the service list until the resource manager is released or the service is explicitly removed through a SetObject call.
You are reading help file online using chmlib.com
|