yes , my host is windows  ,guest is linux 。 i want to transfer data between guest and host , and i use code blow 。the same if guest is windows and in windows driver is work ok , but ,why can't use it in linux driver the same way 。<br><br><br>int  vpaudio_call_hgcm(struct minivosc_device *mydev,struct hgcm_call_struct *param)<br>{<br>    <br>    int  rc = VINF_SUCCESS;<br><br>    RM_HGCM_CALL_REQUEST_SINGLE sinreq  ={0};<br>    RM_HGCM_CALL_REQUEST_DUAL   dualreq ={0};<br>    <br>    if (param->function_code == HGCM_FN_DUAL_BUFFER_REQUEST)<br>    {<br>        dualreq.InParam.type  = VMMDevHGCMParmType_LinAddr_In;<br>        dualreq.OutParam.type = VMMDevHGCMParmType_LinAddr_Out;<br>        <br>        dualreq.callinfo.u32Function = HGCM_FN_DUAL_BUFFER_REQUEST;<br>        dualreq.callinfo.u32ClientID = mydev->ulClientID;<br>        dualreq.callinfo.cParms      = 2;<br>        <br>        dualreq.InParam.u.Pointer.u.linearAddr  = (RTGCPTR32)param->in_data;<br>        dualreq.InParam.u.Pointer.size          = param->in_size;<br>        dualreq.OutParam.u.Pointer.u.linearAddr = (RTGCPTR32)param->out_data;<br>        dualreq.OutParam.u.Pointer.size         = param->out_size;<br>    <br>        return vPVbglHGCMCall (mydev->handle,&dualreq.callinfo,sizeof(dualreq));<br>    }<br><br>    switch (param->function_code)<br>    {<br>        case HGCM_FN_OUT_REQUEST:<br>         <br>            sinreq.Param.type = VMMDevHGCMParmType_LinAddr_Out;<br>            <br>            sinreq.Param.u.Pointer.u.linearAddr = (RTGCPTR32)param->out_data;<br>            sinreq.Param.u.Pointer.size         = param->out_size;<br>            <br>            break;<br>        <br>        case HGCM_FN_IN_REQUEST:<br>        <br>            sinreq.Param.type = VMMDevHGCMParmType_LinAddr_In;<br>            <br>            sinreq.Param.u.Pointer.u.linearAddr = (RTGCPTR32)param->in_data;<br>            sinreq.Param.u.Pointer.size         = param->in_size;<br>            <br>            break;<br>        <br>        default:<br>        <br>            sinreq.Param.type = VMMDevHGCMParmType_LinAddr;<br>            <br>            sinreq.Param.u.Pointer.u.linearAddr = (RTGCPTR32)param->in_data;<br>            sinreq.Param.u.Pointer.size         = param->in_size;<br>    }<br>    <br>    sinreq.callinfo.u32Function = param->function_code;<br>    sinreq.callinfo.u32ClientID = mydev->ulClientID;<br>    sinreq.callinfo.cParms      = 1;<br><br>    rc = vPVbglHGCMCall (mydev->handle,&sinreq.callinfo,sizeof(sinreq));<br><br>    if (RT_SUCCESS (rc)){<br>        rc = sinreq.callinfo.result;<br>    }<br><br>    return rc;<br><br>}<br><br><div><br></div><div><br></div><div style="font-size: 12px;font-family: Arial Narrow;padding:2px 0 2px 0;">------------------ Original ------------------</div><div style="font-size: 12px;background:#efefef;padding:8px;"><div><b>From:</b> "vbox-dev-request"<vbox-dev-request@virtualbox.org>; </div><div><b>Date:</b> 2013年7月28日(星期天) 凌晨3:00</div><div><b>To:</b> "vbox-dev"<vbox-dev@virtualbox.org>; </div><div><b>Subject:</b> vbox-dev Digest, Vol 81, Issue 26</div></div><div><br></div>Send vbox-dev mailing list submissions to<br>       <a target="_blank" href="mailto:http://vbox-dev@virtualbox.org">vbox-dev@vir<wbr>tualbox.org</a><br><br>To subscribe or unsubscribe via the World Wide Web, visit<br>   <a target="_blank" href="https://www.virtualbox.org/mailman/listinfo/vbox-dev">https://www.<wbr>virtualbox.o<wbr>rg/mailman/l<wbr>istinfo/vbox<wbr>-dev</a><br>or, via email, send a message with subject or body 'help' to<br>     <a target="_blank" href="mailto:http://vbox-dev-request@virtualbox.org">vbox-dev-req<wbr>uest@virtual<wbr>box.org</a><br><br>You can reach the person managing the list at<br>    <a target="_blank" href="mailto:http://vbox-dev-owner@virtualbox.org">vbox-dev-own<wbr>er@virtualbo<wbr>x.org</a><br><br>When replying, please edit your Subject line so it is more specific<br>than "Re: Contents of vbox-dev digest..."<br><br><br>Today's Topics:<br><br>   1. about hgcm in linux ( ?? )<br><br><br>----------------------------------------------------------------------<br><br>Message: 1<br>Date: Sat, 27 Jul 2013 14:11:57 +0800<br>From: " ?? " <<a target="_blank" href="mailto:http://451105605@qq.com">451105605@qq<wbr>.com</a>><br>Subject: [vbox-dev] about hgcm in linux<br>To: " vbox-dev " <<a target="_blank" href="mailto:http://vbox-dev@virtualbox.org">vbox-dev@vir<wbr>tualbox.org</a>><br>Message-ID: <<a target="_blank" href="mailto:http://tencent_742AB1EF5BD288B30A1344E8@qq.com">tencent_742A<wbr>B1EF5BD288B3<wbr>0A1344E8@qq.<wbr>com</a>><br>Content-Type: text/plain; charset="gb18030"<br><br>Hi, i have a problem ? in windows ?i can send data to host in guest by use hgcm in drivers ? but ,in linux ,i can't use it in the same way ? why ?<br>-------------- next part --------------<br>An HTML attachment was scrubbed...<br>URL: <a target="_blank" href="http://www.virtualbox.org/pipermail/vbox-dev/attachments/20130727/ffa5d42e/attachment-0001.html">http://www.v<wbr>irtualbox.or<wbr>g/pipermail/<wbr>vbox-dev/att<wbr>achments/201<wbr>30727/ffa5d4<wbr>2e/attachmen<wbr>t-0001.html</a> <br><br>------------------------------<br><br>_______________________________________________<br>vbox-dev mailing list<br><a target="_blank" href="mailto:http://vbox-dev@virtualbox.org">vbox-dev@vir<wbr>tualbox.org</a><br><a target="_blank" href="https://www.virtualbox.org/mailman/listinfo/vbox-dev">https://www.<wbr>virtualbox.o<wbr>rg/mailman/l<wbr>istinfo/vbox<wbr>-dev</a><br><br><br>End of vbox-dev Digest, Vol 81, Issue 26<br>****************************************<br>.<br>