libusb-1.0-成功调用libusb_bulk_transfer()后,数据会去哪里?

libusb-1.0-成功调用libusb_bulk_transfer()后,数据会去哪里?,usb,libusb-1.0,Usb,Libusb 1.0,我在这里运行了从教程中获得的以下代码示例: 我在运行Android 4的平板电脑上运行了它,该平板电脑通过USB连接到运行Mac OS X Mountain Lion的MacBook Pro上。 输出包含“Writing Successful!”,因此我假设libusb_bulk_transfer()工作正常。我的问题是4字节的数据传输到了哪里?我可以将其保存到Android平板电脑上的文件中吗 谢谢你的帮助 #include <iostream> #include <libu

我在这里运行了从教程中获得的以下代码示例:

我在运行Android 4的平板电脑上运行了它,该平板电脑通过USB连接到运行Mac OS X Mountain Lion的MacBook Pro上。
输出包含“Writing Successful!”,因此我假设libusb_bulk_transfer()工作正常。我的问题是4字节的数据传输到了哪里?我可以将其保存到Android平板电脑上的文件中吗

谢谢你的帮助

#include <iostream>
#include <libusb.h>

using namespace std;

int main() {
    libusb_device **devs; //pointer to pointer of device, used to retrieve a list of devices
    libusb_device_handle *dev_handle; //a device handle
    libusb_context *ctx = NULL; //a libusb session
    int r; //for return values
    ssize_t cnt; //holding number of devices in list
    r = libusb_init(&ctx); //initialize the library for the session we just declared
    if(r < 0) {
        cout<<"Init Error "<<r<<endl; //there was an error
        return 1;
    }
    libusb_set_debug(ctx, 3); //set verbosity level to 3, as suggested in the documentation

    cnt = libusb_get_device_list(ctx, &devs); //get the list of devices
    if(cnt < 0) {
        cout<<"Get Device Error"<<endl; //there was an error
        return 1;
    }
    cout<<cnt<<" Devices in list."<<endl;

    dev_handle = libusb_open_device_with_vid_pid(ctx, 5118, 7424); //these are vendorID and productID I found for my usb device
    if(dev_handle == NULL)
        cout<<"Cannot open device"<<endl;
    else
        cout<<"Device Opened"<<endl;
    libusb_free_device_list(devs, 1); //free the list, unref the devices in it

    unsigned char *data = new unsigned char[4]; //data to write
    data[0]='a';data[1]='b';data[2]='c';data[3]='d'; //some dummy values

    int actual; //used to find out how many bytes were written
    if(libusb_kernel_driver_active(dev_handle, 0) == 1) { //find out if kernel driver is attached
        cout<<"Kernel Driver Active"<<endl;
        if(libusb_detach_kernel_driver(dev_handle, 0) == 0) //detach it
            cout<<"Kernel Driver Detached!"<<endl;
    }
    r = libusb_claim_interface(dev_handle, 0); //claim interface 0 (the first) of device (mine had jsut 1)
    if(r < 0) {
        cout<<"Cannot Claim Interface"<<endl;
        return 1;
    }
    cout<<"Claimed Interface"<<endl;

    cout<<"Data->"<<data<<"<-"<<endl; //just to see the data we want to write : abcd
    cout<<"Writing Data..."<<endl;
    r = libusb_bulk_transfer(dev_handle, (2 | LIBUSB_ENDPOINT_OUT), data, 4, &actual, 0); //my device's out endpoint was 2, found with trial- the device had 2 endpoints: 2 and 129
    if(r == 0 && actual == 4) //we wrote the 4 bytes successfully
        cout<<"Writing Successful!"<<endl;
    else
        cout<<"Write Error"<<endl;

    r = libusb_release_interface(dev_handle, 0); //release the claimed interface
    if(r!=0) {
        cout<<"Cannot Release Interface"<<endl;
        return 1;
    }
    cout<<"Released Interface"<<endl;

    libusb_close(dev_handle); //close the device we opened
    libusb_exit(ctx); //needs to be called to end the

    delete[] data; //delete the allocated memory for data
    return 0;
}
#包括
#包括
使用名称空间std;
int main(){
libusb_device**devs;//指向设备指针的指针,用于检索设备列表
libusb\u device\u handle*dev\u handle;//设备句柄
libusb_context*ctx=NULL;//一个libusb会话
int r;//用于返回值
ssize_t cnt;//保存列表中的设备数
r=libusb_init(&ctx);//为我们刚刚声明的会话初始化库
if(r<0){

cout函数
libusb\u bulk\u transfer()
在指定的端点写入数据。它是一个地址,访问它,打印它,或者您可以复制它,执行一些大小写转换并将其转储到传出端点。然后执行一个通读
libusb\u bulk\u transfer()