ole32: Always call IRpcChannelBuffer_GetBuffer in the class factory stub.
This commit is contained in:
parent
25d8417528
commit
7cbafd4f74
|
@ -171,31 +171,31 @@ CFStub_Invoke(
|
||||||
}
|
}
|
||||||
hres = IClassFactory_CreateInstance(classfac,NULL,&iid,(LPVOID*)&ppv);
|
hres = IClassFactory_CreateInstance(classfac,NULL,&iid,(LPVOID*)&ppv);
|
||||||
IClassFactory_Release(classfac);
|
IClassFactory_Release(classfac);
|
||||||
if (hres) {
|
|
||||||
msg->cbBuffer = 0;
|
msg->cbBuffer = 0;
|
||||||
|
if (hres) {
|
||||||
FIXME("Failed to create an instance of %s\n",debugstr_guid(&iid));
|
FIXME("Failed to create an instance of %s\n",debugstr_guid(&iid));
|
||||||
return hres;
|
goto getbuffer;
|
||||||
}
|
}
|
||||||
hres = CreateStreamOnHGlobal(0,TRUE,&pStm);
|
hres = CreateStreamOnHGlobal(0,TRUE,&pStm);
|
||||||
if (hres) {
|
if (hres) {
|
||||||
FIXME("Failed to create stream on hglobal\n");
|
FIXME("Failed to create stream on hglobal\n");
|
||||||
return hres;
|
goto getbuffer;
|
||||||
}
|
}
|
||||||
hres = CoMarshalInterface(pStm,&iid,ppv,0,NULL,0);
|
hres = CoMarshalInterface(pStm,&iid,ppv,0,NULL,0);
|
||||||
IUnknown_Release((IUnknown*)ppv);
|
IUnknown_Release((IUnknown*)ppv);
|
||||||
if (hres) {
|
if (hres) {
|
||||||
FIXME("CoMarshalInterface failed, %x!\n",hres);
|
FIXME("CoMarshalInterface failed, %x!\n",hres);
|
||||||
msg->cbBuffer = 0;
|
goto getbuffer;
|
||||||
return hres;
|
|
||||||
}
|
}
|
||||||
hres = IStream_Stat(pStm,&ststg,0);
|
hres = IStream_Stat(pStm,&ststg,0);
|
||||||
if (hres) {
|
if (hres) {
|
||||||
FIXME("Stat failed.\n");
|
FIXME("Stat failed.\n");
|
||||||
return hres;
|
goto getbuffer;
|
||||||
}
|
}
|
||||||
|
|
||||||
msg->cbBuffer = ststg.cbSize.u.LowPart;
|
msg->cbBuffer = ststg.cbSize.u.LowPart;
|
||||||
|
|
||||||
|
getbuffer:
|
||||||
IRpcChannelBuffer_GetBuffer(chanbuf, msg, &IID_IClassFactory);
|
IRpcChannelBuffer_GetBuffer(chanbuf, msg, &IID_IClassFactory);
|
||||||
if (hres) return hres;
|
if (hres) return hres;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue