Please how do I post the following and get help? "VT_STREAMED_OBJECT out of MSMQ"
Hans
hans at cooperaerial.com
Thu May 30 16:05:26 CDT 2002
I was looking at some of your postings recently and I thought that maybe you
have come across the situation where you have tried to send a
VT_STREAMED_OBJECT into (OleSaveToStream) a queue body and tried to retrieve
it at a later time (OleLoadFromStream).
I am struggling to work with this (I hope that the code is self
explanatory):
pMsgProps->aPropID[iter] = PROPID_M_BODY_TYPE;
pMsgProps->aPropVar[iter].vt = VT_UI4;
pMsgProps->aPropVar[iter].ulVal = VT_STREAMED_OBJECT;
iter++;
pMsgProps->aPropID[iter] = PROPID_M_BODY;
pMsgProps->aPropVar[iter].vt = VT_VECTOR|VT_UI1;
STATSTG stat;
hResult = ptrStream0->Stat(&stat,STATFLAG_NONAME);
pMsgProps->aPropVar[iter].caub.cElems = stat.cbSize.LowPart;
pMsgProps->aPropVar[iter].caub.pElems = (unsigned char *)static_cast<void
*>(ptrStream0);
The above part seems to go through fine. But I cannot extract the
information from the receiving end:
IStream* ptrStream0 =
reinterpret_cast<IStream*>(pMsgProps->aPropVar[3].caub.pElems);
// the subscript 3 is where the message body is being extracted, also memory
has been allocated as UCHAR in the ..pElems
hResult = ptrStream0->Stat(&stat,STATFLAG_NONAME);
// the above line of code gives you garbage values for both
STATMSG.cbSize.(HighPart and LowPart)
Do you think that you could help?
Thanks.
Hans
More information about the wine-devel
mailing list