ole32: Always call IRpcChannelBuffer_GetBuffer in the class factory stub.

This commit is contained in:
Rob Shearman 2006-10-26 12:38:09 +01:00 committed by Alexandre Julliard
parent 25d8417528
commit 7cbafd4f74
1 changed files with 7 additions and 7 deletions

View File

@ -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;