ole32: Implement CoGetObject.
This commit is contained in:
parent
166a91b12d
commit
b0efdcbdbd
|
@ -2909,6 +2909,58 @@ HRESULT WINAPI CoWaitForMultipleHandles(DWORD dwFlags, DWORD dwTimeout,
|
||||||
return hr;
|
return hr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* CoGetObject [OLE32.@]
|
||||||
|
*
|
||||||
|
* Gets the object named by coverting the name to a moniker and binding to it.
|
||||||
|
*
|
||||||
|
* PARAMS
|
||||||
|
* pszName [I] String representing the object.
|
||||||
|
* pBindOptions [I] Parameters affecting the binding to the named object.
|
||||||
|
* riid [I] Interface to bind to on the objecct.
|
||||||
|
* ppv [O] On output, the interface riid of the object represented
|
||||||
|
* by pszName.
|
||||||
|
*
|
||||||
|
* RETURNS
|
||||||
|
* Success: S_OK.
|
||||||
|
* Failure: HRESULT code.
|
||||||
|
*
|
||||||
|
* SEE ALSO
|
||||||
|
* MkParseDisplayName.
|
||||||
|
*/
|
||||||
|
HRESULT WINAPI CoGetObject(LPCWSTR pszName, BIND_OPTS *pBindOptions,
|
||||||
|
REFIID riid, void **ppv)
|
||||||
|
{
|
||||||
|
IBindCtx *pbc;
|
||||||
|
HRESULT hr;
|
||||||
|
|
||||||
|
*ppv = NULL;
|
||||||
|
|
||||||
|
hr = CreateBindCtx(0, &pbc);
|
||||||
|
if (SUCCEEDED(hr))
|
||||||
|
{
|
||||||
|
if (pBindOptions)
|
||||||
|
hr = IBindCtx_SetBindOptions(pbc, pBindOptions);
|
||||||
|
|
||||||
|
if (SUCCEEDED(hr))
|
||||||
|
{
|
||||||
|
ULONG chEaten;
|
||||||
|
IMoniker *pmk;
|
||||||
|
|
||||||
|
hr = MkParseDisplayName(pbc, pszName, &chEaten, &pmk);
|
||||||
|
if (SUCCEEDED(hr))
|
||||||
|
{
|
||||||
|
hr = IMoniker_BindToObject(pmk, pbc, NULL, riid, ppv);
|
||||||
|
IMoniker_Release(pmk);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
IBindCtx_Release(pbc);
|
||||||
|
}
|
||||||
|
return hr;
|
||||||
|
}
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* DllMain (OLE32.@)
|
* DllMain (OLE32.@)
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
@ stdcall CoGetInterfaceAndReleaseStream(ptr ptr ptr)
|
@ stdcall CoGetInterfaceAndReleaseStream(ptr ptr ptr)
|
||||||
@ stdcall CoGetMalloc(long ptr)
|
@ stdcall CoGetMalloc(long ptr)
|
||||||
@ stdcall CoGetMarshalSizeMax(ptr ptr ptr long ptr long)
|
@ stdcall CoGetMarshalSizeMax(ptr ptr ptr long ptr long)
|
||||||
@ stub CoGetObject
|
@ stdcall CoGetObject(wstr ptr ptr ptr)
|
||||||
@ stdcall CoGetPSClsid(ptr ptr)
|
@ stdcall CoGetPSClsid(ptr ptr)
|
||||||
@ stdcall CoGetStandardMarshal(ptr ptr long ptr long ptr)
|
@ stdcall CoGetStandardMarshal(ptr ptr long ptr long ptr)
|
||||||
@ stdcall CoGetState(ptr)
|
@ stdcall CoGetState(ptr)
|
||||||
|
|
Loading…
Reference in New Issue