ole32: Remove an unnecessary QueryInterface in CoRegisterClassObject that CoMarshalInterface will already do.
This commit is contained in:
parent
b1030f59e6
commit
c582136d0b
|
@ -1724,29 +1724,19 @@ HRESULT WINAPI CoRegisterClassObject(
|
||||||
*lpdwRegister = newClass->dwCookie;
|
*lpdwRegister = newClass->dwCookie;
|
||||||
|
|
||||||
if (dwClsContext & CLSCTX_LOCAL_SERVER) {
|
if (dwClsContext & CLSCTX_LOCAL_SERVER) {
|
||||||
IClassFactory *classfac;
|
|
||||||
|
|
||||||
hr = IUnknown_QueryInterface(newClass->classObject, &IID_IClassFactory,
|
|
||||||
(LPVOID*)&classfac);
|
|
||||||
if (hr) return hr;
|
|
||||||
|
|
||||||
hr = CreateStreamOnHGlobal(0, TRUE, &newClass->pMarshaledData);
|
hr = CreateStreamOnHGlobal(0, TRUE, &newClass->pMarshaledData);
|
||||||
if (hr) {
|
if (hr) {
|
||||||
FIXME("Failed to create stream on hglobal, %x\n", hr);
|
FIXME("Failed to create stream on hglobal, %x\n", hr);
|
||||||
IUnknown_Release(classfac);
|
|
||||||
return hr;
|
return hr;
|
||||||
}
|
}
|
||||||
hr = CoMarshalInterface(newClass->pMarshaledData, &IID_IClassFactory,
|
hr = CoMarshalInterface(newClass->pMarshaledData, &IID_IClassFactory,
|
||||||
(LPVOID)classfac, MSHCTX_LOCAL, NULL,
|
newClass->classObject, MSHCTX_LOCAL, NULL,
|
||||||
MSHLFLAGS_TABLESTRONG);
|
MSHLFLAGS_TABLESTRONG);
|
||||||
if (hr) {
|
if (hr) {
|
||||||
FIXME("CoMarshalInterface failed, %x!\n",hr);
|
FIXME("CoMarshalInterface failed, %x!\n",hr);
|
||||||
IUnknown_Release(classfac);
|
|
||||||
return hr;
|
return hr;
|
||||||
}
|
}
|
||||||
|
|
||||||
IUnknown_Release(classfac);
|
|
||||||
|
|
||||||
hr = RPC_StartLocalServer(&newClass->classIdentifier,
|
hr = RPC_StartLocalServer(&newClass->classIdentifier,
|
||||||
newClass->pMarshaledData,
|
newClass->pMarshaledData,
|
||||||
flags & (REGCLS_MULTIPLEUSE|REGCLS_MULTI_SEPARATE),
|
flags & (REGCLS_MULTIPLEUSE|REGCLS_MULTI_SEPARATE),
|
||||||
|
|
Loading…
Reference in New Issue