NAME

CoGetPSClsid  (OLE32.@)

SYNOPSIS

 HRESULT CoGetPSClsid
 (
  REFIID riid,
  CLSID* pclsid
 )

DESCRIPTION

Retrieves the CLSID of the proxy/stub factory that implements IPSFactoryBuffer for the specified interface.

PARAMS

riid [In] Interface whose proxy/stub CLSID is to be returned.
pclsid [Out] Where to store returned proxy/stub CLSID.

RETURNS

S_OK E_OUTOFMEMORY REGDB_E_IIDNOTREG if no PSFactoryBuffer is associated with the IID, or it could not be parsed.

NOTES

The standard marshaller activates the object with the CLSID returned and uses the CreateProxy and CreateStub methods on its IPSFactoryBuffer interface to construct the proxies and stubs for a given object.

CoGetPSClsid determines this CLSID by searching the HKEY_CLASSES_ROOT\Interface\{string form of riid}\ProxyStubClsid32 in the registry and any interface Id registered by CoRegisterPSClsid within the current process.

BUGS

We only search the registry, not ids registered with CoRegisterPSClsid. Also, native returns S_OK for interfaces with a key in HKCR\Interface, but without a ProxyStubClsid32 key and leaves garbage in pclsid. This should be considered a bug in native unless an application depends on this (unlikely).

IMPLEMENTATION

Defined in "objbase.h".

Implemented in "dlls/ole32/compobj.c". source.winehq.org/source/dlls/ole32/compobj.c

Debug channel "ole".


Copyright © 2005 The Wine Project. All trademarks are the property of their respective owners. Visit WineHQ for license details. Generated Aug 2005.