FIX: ICallFrame::GetParam() Returns 0x80020008 "Bad Variable Type" for VARIANT That Is Passed by Value (290509)



The information in this article applies to:

  • Microsoft COM+ 1.0

This article was previously published under Q290509

SYMPTOMS

When you call the ICallFrame::GetParam method on a frame for a method call that includes a VARIANT parameter, such as the method that is defined by the IDL below:
[id(1)] HRESULT SampleMethod([in] VARIANT var);
				
you receive the following error message:
HRESULT 0x80020008
MessageId: DISP_E_BADVARTYPE
MessageText: Bad variable type.
#define DISP_E_BADVARTYPE _HRESULT_TYPEDEF_(0x80020008L)
in winerror.h.
However, you can call the following method without error:
[id(1)] HRESULT SampleMethod([in] VARIANT *pvar);
				

RESOLUTION

To resolve this problem, obtain the latest service pack for Windows 2000. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:

260910 How to Obtain the Latest Windows 2000 Service Pack


STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article. This problem was first corrected in Windows 2000 Service Pack 2.

Modification Type:MajorLast Reviewed:5/8/2002
Keywords:kbbug kbDSupport kberrmsg kbWin2000PreSP2Fix kbWin2000SP2Fix KB290509