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