在线等!! 我在c#中引用了一个OCX控件,该控件的方法中 指针参数,我应改如何传递???
从短信猫中获取短信的方法: 
 axSmscontrol1.ReadMsg(ref   object,   ref   object,   ref   object,   ref   object)     
 我定义了四个object类型的变量: 
 object   oCENTERSMS; 
 object   oMOBILID; 
 object   oCONTEXT; 
 object   oTime; 
 axSmscontrol1.ReadMsg(ref   oCENTERSMS,   ref   oMOBILID,   ref   oCONTEXT,   ref   oTime)   
 但是总是接受不到数据???     
 注:axSmscontrol1控件的其他方法动能使用,只有这个   要求指针参数的方法不行.   
 如何解决???
------解决方案--------------------short ReadMsg(VARIANT FAR* pvariantSMCA, VARIANT FAR*        pvariantOA, VARIANT FAR* pvariantMSG, VARIANT FAR* pvariantTimeStamp)
在VC++中为VARIANT 指针,类型为VT_BSTR,返回结果存在bstrVal中。
第一个参数:对方短信中心号码;
第二个参数:对方号码;
第三个参数:短信内容;
第四个参数:时间邮戳:(年年月月日日时时分分秒秒XX)格式的字符串。XX表示时区,一般情况下可以不管。
返回值:小于0表示失败或没有新短信可读,等于0的数n表示读到了短信。
------解决方案--------------------     #region 收取上行短信
       private void axSmscontrol1_OnRecvMsg(object sender, EventArgs e)
       {
           t_sms_inTableAdapter indata = new t_sms_inTableAdapter();
           string s = "";
           string number = "";
           string content = "";
           string time = "";
           int response = this.axSmscontrol1.ReadMsgForVB(ref s, ref number, ref content, ref time);
           if (response > -1)
           {
               indata.Insert(number, content, DateTime.Now);
               logger.Info(string.Format("收到上行短信!!!!!"));
           }
           AlertCustom f = new AlertCustom();
           System.Drawing.Rectangle r = Screen.GetWorkingArea(this);
           f.Location = new System.Drawing.Point(r.Right - f.Width, r.Bottom - f.Height);
           f.AutoClose = true;
           f.AutoCloseTimeOut = 15;
           f.labelX1.Text = string.Format("收到来自:{0}的短信。\r\n内容为:{1}",number,util.sqrit(content, 19));
           f.ShowDialog();
       }  
       #endregion