A VT_VARIANT must be combined with VT_BYREF
Frederic Lavigne <[email protected]> Wed, 1 Jun 2005 17:32:30 +0200
| Newsgroups | gmane.comp.windows.devel.jawin |
|---|---|
| Message-ID | <[email protected]> |
Hi there,
I'm trying to load an email message (.eml) into a CDO message.
First I need to get a ADO Stream on the message.
The C++ equivalent code I want to implement is:
_StreamPtr pStm(__uuidof(Stream));
_variant_t varOptional(DISP_E_PARAMNOTFOUND,VT_ERROR);
try {
pStm->raw_Open(varOptional, adModeUnknown,
adOpenStreamUnspecified,NULL,NULL);
pStm->LoadFromFile(path);
}
catch(_com_error e)
{
throw e;
}
Written using jawin, it gives:
_Stream stream = new _Stream(Stream.CLSID);
Variant variant = new Variant();
variant.vt = VarTypes.VT_ERROR;
variant.scode = 0x80020004; // DISP_E_PARAMNOTFOUND
stream.Open(
variant,
ConnectModeEnum.adModeUnknown,
StreamOpenOptionsEnum.adOpenStreamUnspecified,
null,
null);
stream.LoadFromFile(path);
However, whenever I run this, I get:
org.jawin.COMException: 8000ffff: A VT_VARIANT must be combined with
VT_BYREF (base vartype 12)
at org.jawin.marshal.GenericStub.dispatchInvoke0(Native Method)
at org.jawin.marshal.GenericStub.dispatchInvoke(GenericStub.java:201)
at org.jawin.DispatchPtr.invokeN(DispatchPtr.java:587)
at org.jawin.DispatchPtr.invokeN(DispatchPtr.java:555)
at ADODB._Stream.Open(_Stream.java:303):
I have generated the ADODB classes from msado15.dll using the
typebrowser from jawin 2.0-alpha1.
Has someone already experienced and solved such issue? I searched the
list for such problem but did not find a solution.
thanks,
-fred