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 
??


int  vpaudio_call_hgcm(struct minivosc_device *mydev,struct hgcm_call_struct 
*param)
{
    
    int  rc = VINF_SUCCESS;

    RM_HGCM_CALL_REQUEST_SINGLE sinreq  ={0};
    RM_HGCM_CALL_REQUEST_DUAL   dualreq ={0};
    
    if (param->function_code == HGCM_FN_DUAL_BUFFER_REQUEST)
    {
        dualreq.InParam.type  = VMMDevHGCMParmType_LinAddr_In;
        dualreq.OutParam.type = VMMDevHGCMParmType_LinAddr_Out;
        
        dualreq.callinfo.u32Function = HGCM_FN_DUAL_BUFFER_REQUEST;
        dualreq.callinfo.u32ClientID = mydev->ulClientID;
        dualreq.callinfo.cParms      = 2;
        
        dualreq.InParam.u.Pointer.u.linearAddr  = (RTGCPTR32)param->in_data;
        dualreq.InParam.u.Pointer.size          = param->in_size;
        dualreq.OutParam.u.Pointer.u.linearAddr = (RTGCPTR32)param->out_data;
        dualreq.OutParam.u.Pointer.size         = param->out_size;
    
        return vPVbglHGCMCall (mydev->handle,&dualreq.callinfo,sizeof(dualreq));
    }

    switch (param->function_code)
    {
        case HGCM_FN_OUT_REQUEST:
         
            sinreq.Param.type = VMMDevHGCMParmType_LinAddr_Out;
            
            sinreq.Param.u.Pointer.u.linearAddr = (RTGCPTR32)param->out_data;
            sinreq.Param.u.Pointer.size         = param->out_size;
            
            break;
        
        case HGCM_FN_IN_REQUEST:
        
            sinreq.Param.type = VMMDevHGCMParmType_LinAddr_In;
            
            sinreq.Param.u.Pointer.u.linearAddr = (RTGCPTR32)param->in_data;
            sinreq.Param.u.Pointer.size         = param->in_size;
            
            break;
        
        default:
        
            sinreq.Param.type = VMMDevHGCMParmType_LinAddr;
            
            sinreq.Param.u.Pointer.u.linearAddr = (RTGCPTR32)param->in_data;
            sinreq.Param.u.Pointer.size         = param->in_size;
    }
    
    sinreq.callinfo.u32Function = param->function_code;
    sinreq.callinfo.u32ClientID = mydev->ulClientID;
    sinreq.callinfo.cParms      = 1;

    rc = vPVbglHGCMCall (mydev->handle,&sinreq.callinfo,sizeof(sinreq));

    if (RT_SUCCESS (rc)){
        rc = sinreq.callinfo.result;
    }

    return rc;

}





------------------ Original ------------------
From: "vbox-dev-request"; 
Date: 2013??7??28??(??????) ????3:00
To: "vbox-dev"; 
Subject: vbox-dev Digest, Vol 81, Issue 26



Send vbox-dev mailing list submissions to
        [email protected]

To subscribe or unsubscribe via the World Wide Web, visit
        https://www.virtualbox.org/mailman/listinfo/vbox-dev
or, via email, send a message with subject or body 'help' to
        [email protected]

You can reach the person managing the list at
        [email protected]

When replying, please edit your Subject line so it is more specific
than "Re: Contents of vbox-dev digest..."


Today's Topics:

   1. about hgcm in linux ( ?? )


----------------------------------------------------------------------

Message: 1
Date: Sat, 27 Jul 2013 14:11:57 +0800
From: " ?? " <[email protected]>
Subject: [vbox-dev] about hgcm in linux
To: " vbox-dev " <[email protected]>
Message-ID: <[email protected]>
Content-Type: text/plain; charset="gb18030"

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 ?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
http://www.virtualbox.org/pipermail/vbox-dev/attachments/20130727/ffa5d42e/attachment-0001.html
 

------------------------------

_______________________________________________
vbox-dev mailing list
[email protected]
https://www.virtualbox.org/mailman/listinfo/vbox-dev


End of vbox-dev Digest, Vol 81, Issue 26
****************************************
.
_______________________________________________
vbox-dev mailing list
[email protected]
https://www.virtualbox.org/mailman/listinfo/vbox-dev

Reply via email to