亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? descriptorpage.java

?? usbio Ver 2.40 source code!!! 做USB開發的值得
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
package de.thesycon.usbiodemo.usbioapp;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Vector;

import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;

import de.thesycon.usbio.UsbIo;
import de.thesycon.usbio.structs.USBIO_DATA_BUFFER;
import de.thesycon.usbio.structs.USB_COMMON_DESCRIPTOR;
import de.thesycon.usbio.structs.USB_CONFIGURATION_DESCRIPTOR;
import de.thesycon.usbio.structs.USB_DEVICE_DESCRIPTOR;
import de.thesycon.usbio.structs.USB_DEVICE_QUALIFIER_DESCRIPTOR;
import de.thesycon.usbio.structs.USB_ENDPOINT_DESCRIPTOR;
import de.thesycon.usbio.structs.USB_HID_DESCRIPTOR;
import de.thesycon.usbio.structs.USB_INTERFACE_DESCRIPTOR;
import de.thesycon.usbio.structs.USB_STRING_DESCRIPTOR;

public class DescriptorPage extends PanelPage {

	public String getPageName() { return "Descriptors"; };

	public static final int MAX_DESCRIPTOR_BUFFER_SIZE = 2047;

	protected UsbIoApp mainFrame;

	protected JPanel mDevDescPanel;
	protected JPanel mConfDescPanel;
	protected JPanel mStringDescPanel;
	protected JPanel mAnyDescPanel;

	protected JButton mGetDevDescButton;
	protected JButton mGetDevQuDescButton;

	protected JButton mGetConfDescButton;
	protected JButton mGetOtherSpeedConfDescButton;
	protected JLabel mConfDescIndexLabel;
	protected JTextField mConfDescIndexTF;

	protected JButton mGetStringDescButton;
	protected JLabel mStringDescIndexLabel;
	protected JTextField mStringDescIndexTF;
	protected JLabel mStringDescLanguageIDLabel;
	protected JTextField mStringDescLanguageIDTF;

	protected JButton mGetDescButton;
	protected JLabel mAnyDescTypeLabel;
	protected JTextField mAnyDescTypeTF;
	protected JLabel mAnyDescIndexLabel;
	protected JTextField mAnyDescIndexTF;
	protected JLabel mAnyDescLengthLabel;
	protected JTextField mAnyDescLengthTF;

	protected GridBagLayout mDevDescLayout;
	protected GridBagLayout mConfDescLayout;
	protected GridBagLayout mStringDescLayout;
	protected GridBagLayout mAnyDescLayout;

	public DescriptorPage(UsbIoApp Frame) {
		mainFrame = Frame;
	}

	public Vector getControlComponentsVector() {
		Vector ret = new Vector();
		ret.addElement(mGetDevDescButton);
		ret.addElement(mGetDevQuDescButton);
		ret.addElement(mGetConfDescButton);
		ret.addElement(mGetOtherSpeedConfDescButton);
		ret.addElement(mConfDescIndexTF);
		ret.addElement(mGetStringDescButton);
		ret.addElement(mStringDescIndexTF);
		ret.addElement(mStringDescLanguageIDTF);
		ret.addElement(mGetDescButton);
		ret.addElement(mAnyDescTypeTF);
		ret.addElement(mAnyDescIndexTF);
		ret.addElement(mAnyDescLengthTF);
		return ret;
	}

	public void initGUIelements() {

		mDevDescLayout = new GridBagLayout();
		mConfDescLayout = new GridBagLayout();
		mStringDescLayout = new GridBagLayout();
		mAnyDescLayout = new GridBagLayout();

		mDevDescPanel = new JPanel(mDevDescLayout,true);
		mDevDescPanel.setBorder(BorderFactory.createTitledBorder("Device Descriptor"));
		mConfDescPanel = new JPanel(mConfDescLayout,true);
		mConfDescPanel.setBorder(BorderFactory.createTitledBorder("Configuration Descriptor"));
		mStringDescPanel = new JPanel(mStringDescLayout,true);
		mStringDescPanel.setBorder(BorderFactory.createTitledBorder("String Descriptor"));
		mAnyDescPanel = new JPanel(mAnyDescLayout,true);
		mAnyDescPanel.setBorder(BorderFactory.createTitledBorder("Any Descriptor"));

		mGetDevDescButton = new JButton("Get Device Descriptor");
		mGetDevDescButton.addActionListener(new OnGetDevDescButton());
		mGetDevQuDescButton = new JButton("Get Device Qualifier Descriptor");
		mGetDevQuDescButton.addActionListener(new OnGetDevQuDescButton());

		mGetConfDescButton = new JButton("Get Config Descriptor");
		mGetConfDescButton.addActionListener(new OnGetConfDescButton());
		mGetOtherSpeedConfDescButton = new JButton("Get Other Speed Config Descriptor");
		mGetOtherSpeedConfDescButton.addActionListener(new OnGetOtherSpeedConfDescButton());
		mConfDescIndexLabel = new JLabel("Index:");
		mConfDescIndexTF = new JTextField("0",5);

		mGetStringDescButton = new JButton("Get String Descriptor");
		mGetStringDescButton.addActionListener(new OnGetStringDescButton());
		mStringDescIndexLabel = new JLabel("Index:");
		mStringDescIndexTF = new JTextField("1",5);
		mStringDescLanguageIDLabel = new JLabel("Language ID:");
		mStringDescLanguageIDTF = new JTextField("0x0000",5);

		mGetDescButton = new JButton("Get Descriptor");
		mGetDescButton.addActionListener(new OnGetAnyDescButton());
		mAnyDescTypeLabel = new JLabel("Type:");
		mAnyDescTypeTF = new JTextField("0x21",5);
		mAnyDescIndexLabel = new JLabel("Index:");
		mAnyDescIndexTF = new JTextField("0",5);
		mAnyDescLengthLabel = new JLabel("Length:");
		mAnyDescLengthTF = new JTextField("256",5);

		mDevDescLayout.setConstraints(mGetDevDescButton, makegbc(0, 0, 1, 1,100,100,GridBagConstraints.NONE,GridBagConstraints.CENTER));
		mDevDescPanel.add(mGetDevDescButton);

		mDevDescLayout.setConstraints(mGetDevQuDescButton, makegbc(1, 0, 1, 1,100,100,GridBagConstraints.NONE,GridBagConstraints.CENTER));
		mDevDescPanel.add(mGetDevQuDescButton);

		mConfDescLayout.setConstraints(mConfDescIndexLabel, makegbc(0, 0, 1, 1,100,100,GridBagConstraints.NONE,GridBagConstraints.EAST));
		mConfDescPanel.add(mConfDescIndexLabel);

		mConfDescLayout.setConstraints(mConfDescIndexTF, makegbc(1, 0, 1, 1,100,100,GridBagConstraints.NONE,GridBagConstraints.WEST));
		mConfDescPanel.add(mConfDescIndexTF);

		mConfDescLayout.setConstraints(mGetConfDescButton, makegbc(2, 0, 1, 1,100,100,GridBagConstraints.NONE,GridBagConstraints.CENTER));
		mConfDescPanel.add(mGetConfDescButton);

		mConfDescLayout.setConstraints(mGetOtherSpeedConfDescButton, makegbc(3, 0, 1, 1,100,100,GridBagConstraints.NONE,GridBagConstraints.CENTER));
		mConfDescPanel.add(mGetOtherSpeedConfDescButton);

		mStringDescLayout.setConstraints(mStringDescIndexLabel, makegbc(0, 0, 1, 1,100,100,GridBagConstraints.NONE,GridBagConstraints.EAST));
		mStringDescPanel.add(mStringDescIndexLabel);

		mStringDescLayout.setConstraints(mStringDescIndexTF, makegbc(1, 0, 1, 1,100,100,GridBagConstraints.NONE,GridBagConstraints.WEST));
		mStringDescPanel.add(mStringDescIndexTF);

		mStringDescLayout.setConstraints(mStringDescLanguageIDLabel, makegbc(2, 0, 1, 1,100,100,GridBagConstraints.NONE,GridBagConstraints.EAST));
		mStringDescPanel.add(mStringDescLanguageIDLabel);

		mStringDescLayout.setConstraints(mStringDescLanguageIDTF, makegbc(3, 0, 1, 1,100,100,GridBagConstraints.NONE,GridBagConstraints.WEST));
		mStringDescPanel.add(mStringDescLanguageIDTF);

		mStringDescLayout.setConstraints(mGetStringDescButton, makegbc(4, 0, 1, 1,100,100,GridBagConstraints.NONE,GridBagConstraints.CENTER));
		mStringDescPanel.add(mGetStringDescButton);

		mAnyDescLayout.setConstraints(mAnyDescTypeLabel, makegbc(0, 0, 1, 1,100,100,GridBagConstraints.NONE,GridBagConstraints.EAST));
		mAnyDescPanel.add(mAnyDescTypeLabel);

		mAnyDescLayout.setConstraints(mAnyDescTypeTF, makegbc(1, 0, 1, 1,100,100,GridBagConstraints.NONE,GridBagConstraints.WEST));
		mAnyDescPanel.add(mAnyDescTypeTF);

		mAnyDescLayout.setConstraints(mAnyDescIndexLabel, makegbc(2, 0, 1, 1,100,100,GridBagConstraints.NONE,GridBagConstraints.EAST));
		mAnyDescPanel.add(mAnyDescIndexLabel);

		mAnyDescLayout.setConstraints(mAnyDescIndexTF, makegbc(3, 0, 1, 1,100,100,GridBagConstraints.NONE,GridBagConstraints.WEST));
		mAnyDescPanel.add(mAnyDescIndexTF);

		mAnyDescLayout.setConstraints(mAnyDescLengthLabel, makegbc(4, 0, 1, 1,100,100,GridBagConstraints.NONE,GridBagConstraints.EAST));
		mAnyDescPanel.add(mAnyDescLengthLabel);

		mAnyDescLayout.setConstraints(mAnyDescLengthTF, makegbc(5, 0, 1, 1,100,100,GridBagConstraints.NONE,GridBagConstraints.WEST));
		mAnyDescPanel.add(mAnyDescLengthTF);

		mAnyDescLayout.setConstraints(mGetDescButton, makegbc(6, 0, 1, 1,100,100,GridBagConstraints.NONE,GridBagConstraints.CENTER));
		mAnyDescPanel.add(mGetDescButton);

		layout.setConstraints(mDevDescPanel, makegbc(0, 0, 1, 1,100,100,GridBagConstraints.BOTH,GridBagConstraints.WEST));
		this.add(mDevDescPanel);
		layout.setConstraints(mConfDescPanel, makegbc(0, 1, 1, 1,100,100,GridBagConstraints.BOTH,GridBagConstraints.WEST));
		this.add(mConfDescPanel);
		layout.setConstraints(mStringDescPanel, makegbc(0, 2, 1, 1,100,100,GridBagConstraints.BOTH,GridBagConstraints.WEST));
		this.add(mStringDescPanel);
		layout.setConstraints(mAnyDescPanel, makegbc(0, 3, 1, 1,100,100,GridBagConstraints.BOTH,GridBagConstraints.WEST));
		this.add(mAnyDescPanel);
	}


	public class OnGetDevDescButton implements ActionListener {
		public void actionPerformed(ActionEvent event) {
			USB_DEVICE_DESCRIPTOR Desc = new USB_DEVICE_DESCRIPTOR();
			int err;

			// send command to driver
			err = mainFrame.gUsbIo.getDeviceDescriptor(Desc);
			if (err != 0) {
				// print error message
				mainFrame.printError("",err);
			} else {
				dumpDescriptor((USB_COMMON_DESCRIPTOR)Desc);
			}
		}
	}

	public class OnGetDevQuDescButton implements ActionListener {
		public void actionPerformed(ActionEvent event) {
			USB_DEVICE_QUALIFIER_DESCRIPTOR Desc = new USB_DEVICE_QUALIFIER_DESCRIPTOR();
			USBIO_DATA_BUFFER BufDesc = new USBIO_DATA_BUFFER(Desc.getSize());
			BufDesc.setNumberOfBytesToTransfer(Desc.getSize());
			int err;

			// send command to driver
			err = mainFrame.gUsbIo.getDescriptor(BufDesc,0,(byte)(UsbIo.USB_DEVICE_QUALIFIER_DESCRIPTOR_TYPE),(byte)0);
			if (err != 0) {
				// print error message
				mainFrame.printError("",err);
			} else {
				Desc.parseByteArray(BufDesc.Buffer());
				dumpDescriptor((USB_COMMON_DESCRIPTOR)Desc);
			}
		}
	}

	public class OnGetStringDescButton implements ActionListener {
		public void actionPerformed(ActionEvent event) {
			USB_STRING_DESCRIPTOR Desc = new USB_STRING_DESCRIPTOR();
			try {
				int index = Integer.decode(mStringDescIndexTF.getText()).intValue();
				int lang = Integer.decode(mStringDescLanguageIDTF.getText()).intValue();
				int err;

				// send command to driver
				err = mainFrame.gUsbIo.getStringDescriptor(Desc,(byte)index,lang);
				if (err != 0) {
					// print error message
					mainFrame.printError("",err);
				} else {
					if (index == 0) {
						mainFrame.printOutput("\n");
						mainFrame.printOutput("String Descriptor Language ID's\n");
						mainFrame.printOutput("0x" + UsbIoApp.byteToString(Desc.ByteArray[0]) + " " + "0x" + UsbIoApp.byteToString(Desc.ByteArray[1]) + " " + "0x" + UsbIoApp.byteToString(Desc.ByteArray[2]) + " " + "0x" + UsbIoApp.byteToString(Desc.ByteArray[3]) + " " + "\n");
						mStringDescLanguageIDTF.setText("0x"+UsbIoApp.byteToString(Desc.ByteArray[3])+UsbIoApp.byteToString(Desc.ByteArray[2]));
					} else {
						dumpDescriptor((USB_COMMON_DESCRIPTOR)Desc);
					}
				}
			}
			catch (NumberFormatException ex) {
				mainFrame.printOutput("Wrong input format.\n");
			}
		}
	}

	public class OnGetAnyDescButton implements ActionListener {
		public void actionPerformed(ActionEvent event) {
			try {
				int type = Integer.decode(mAnyDescTypeTF.getText()).intValue();
				int index = Integer.decode(mAnyDescIndexTF.getText()).intValue();
				int length = Integer.decode(mAnyDescLengthTF.getText()).intValue();
				int err;

				USBIO_DATA_BUFFER BufDesc = new USBIO_DATA_BUFFER(length);
				BufDesc.setNumberOfBytesToTransfer(length);

				// send command to driver
				err = mainFrame.gUsbIo.getDescriptor(BufDesc, 0,(byte)type,(byte)index);
				if (err != 0) {
					// print error message
					mainFrame.printError("",err);
				} else {
					mainFrame.printOutput("\n");
					for (int i = 0; i < BufDesc.getBytesTransferred();i++) {
						mainFrame.printOutput("0x" + UsbIoApp.byteToString(BufDesc.Buffer()[i]) + " ");
						if ((i % 8) == 7) {
							mainFrame.printOutput("\n");
						}
					}
				}
			}
			catch (NumberFormatException ex) {
				mainFrame.printOutput("Wrong input format.\n");
			}
		}
	}

	public class OnGetConfDescButton implements ActionListener {
		public void actionPerformed(ActionEvent event) {
			try {
				int index = Integer.decode(mConfDescIndexTF.getText()).intValue();
				int err;

				USBIO_DATA_BUFFER BufDesc = new USBIO_DATA_BUFFER(MAX_DESCRIPTOR_BUFFER_SIZE);
				BufDesc.setNumberOfBytesToTransfer(MAX_DESCRIPTOR_BUFFER_SIZE);

				// send command to driver
				err = mainFrame.gUsbIo.getConfigurationDescriptor(BufDesc,(byte)index);
				if (err != 0) {
					// print error message

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产女人aaa级久久久级| 欧美午夜电影一区| 91小视频免费观看| 欧美一二三四在线| 亚洲免费观看高清完整版在线观看熊| 偷拍与自拍一区| www.爱久久.com| 久久久久久久久久电影| 日韩成人午夜精品| 91国在线观看| 国产精品初高中害羞小美女文| 日韩影视精彩在线| 精彩视频一区二区三区| 欧美日韩视频不卡| 亚洲精品日韩专区silk| 国产成人综合在线播放| 日韩精品一区二区三区视频| 亚洲va天堂va国产va久| 91福利在线导航| 国产精品麻豆一区二区| 国产91对白在线观看九色| 日韩欧美亚洲国产精品字幕久久久| 亚洲一区二区欧美激情| 色诱视频网站一区| 亚洲黄色免费网站| 99国产精品99久久久久久| 中文字幕在线不卡一区| 不卡欧美aaaaa| 欧美国产综合一区二区| 国产成人综合自拍| 中文字幕欧美日韩一区| 国产69精品久久777的优势| 久久久精品国产99久久精品芒果| 精品国产精品网麻豆系列| 亚洲高清免费观看 | 国产免费观看久久| 国产美女一区二区三区| www国产成人免费观看视频 深夜成人网| 强制捆绑调教一区二区| 91精品国产全国免费观看| 奇米色一区二区| 亚洲精品在线免费观看视频| 国产激情视频一区二区在线观看| 国产日韩综合av| 99综合电影在线视频| 亚洲男人的天堂在线观看| 欧美性色欧美a在线播放| 免费在线一区观看| 久久精品水蜜桃av综合天堂| 懂色av一区二区三区免费看| 亚洲三级电影全部在线观看高清| 色婷婷久久久综合中文字幕| 亚洲高清在线视频| 精品免费一区二区三区| 高清不卡在线观看| 国产精品一级在线| 亚洲精品一区二区三区精华液| 久久精品国产色蜜蜜麻豆| 久久久美女毛片| 9i在线看片成人免费| 亚洲国产成人高清精品| 欧美成人伊人久久综合网| 大胆亚洲人体视频| 一区二区三区免费网站| 日韩欧美一级在线播放| eeuss鲁片一区二区三区| 亚洲一区二区三区自拍| 久久综合久久久久88| 91网站黄www| 久久超级碰视频| 亚洲欧美影音先锋| 欧美一级高清片| 成人深夜在线观看| 日韩国产高清在线| 国产精品乱人伦一区二区| 欧美日韩dvd在线观看| 国产成人在线网站| 日韩国产在线一| 国产精品私房写真福利视频| 8v天堂国产在线一区二区| 成人午夜电影小说| 国产精品资源在线| 国产精品免费av| 欧美一区二区三区的| 99在线精品一区二区三区| 热久久免费视频| 夜夜嗨av一区二区三区网页| 久久久不卡影院| 日韩一区二区三区电影在线观看| 成人av小说网| 国产自产高清不卡| 日本视频一区二区三区| 亚洲欧美日韩电影| 国产精品女同一区二区三区| 欧美成人r级一区二区三区| 在线免费精品视频| av在线不卡免费看| 国产福利不卡视频| 久久精品国产99久久6| 午夜精彩视频在线观看不卡| 中文字幕在线观看一区| 久久亚洲捆绑美女| 欧美大片国产精品| 日韩一区二区三区在线视频| 欧美优质美女网站| 91日韩在线专区| 一区二区三区美女| www.爱久久.com| 紧缚捆绑精品一区二区| 亚洲v中文字幕| 一区二区三区高清在线| 中文字幕日韩av资源站| 国产精品人人做人人爽人人添| 亚洲精品一区二区三区蜜桃下载 | 夜色激情一区二区| 一区二区欧美精品| 视频一区国产视频| 爽好久久久欧美精品| 日韩电影一二三区| 久久精品国产第一区二区三区| 麻豆精品一区二区三区| 精品一区二区三区的国产在线播放| 日韩电影在线一区| 精品影视av免费| 青娱乐精品在线视频| 美女诱惑一区二区| 国产精品综合一区二区三区| 国产麻豆91精品| 成a人片亚洲日本久久| 91婷婷韩国欧美一区二区| 色噜噜狠狠成人中文综合 | 国产成人精品免费| 处破女av一区二区| 在线精品视频小说1| 欧美一区二区三区白人| 国产三级三级三级精品8ⅰ区| 国产精品色婷婷| 亚洲素人一区二区| 日韩av午夜在线观看| 国产精品夜夜嗨| 96av麻豆蜜桃一区二区| 欧美日韩成人在线| 久久欧美中文字幕| 亚洲综合色视频| 久久www免费人成看片高清| 高清在线成人网| 91精品福利视频| 26uuu色噜噜精品一区二区| 国产精品久久久久国产精品日日| 亚洲综合无码一区二区| 韩国精品久久久| 91视频国产观看| 精品国产第一区二区三区观看体验| 国产精品欧美极品| 蜜臀精品久久久久久蜜臀| av在线一区二区| 日韩丝袜美女视频| 亚洲免费观看高清完整| 国产揄拍国内精品对白| 午夜精品福利一区二区三区av | 欧美日韩精品高清| 欧美mv和日韩mv国产网站| 中文字幕一区二区三区不卡在线| 午夜精品久久久久久久99樱桃| 国内精品免费在线观看| 欧美日韩综合一区| 国产欧美一二三区| 三级欧美韩日大片在线看| 成人激情免费网站| 日韩一区二区在线观看| 亚洲一线二线三线久久久| 国产91丝袜在线播放0| 欧美一区二区视频在线观看 | 精品少妇一区二区三区| 亚洲欧美偷拍卡通变态| 国产乱码精品一区二区三区av | 成人免费黄色大片| 极品少妇xxxx精品少妇| 国产精品久久久久久久久久免费看| 午夜精品久久久久久久99樱桃| 国产福利一区二区三区视频在线| 欧美日韩mp4| 亚洲国产综合色| 91一区在线观看| 中文字幕乱码一区二区免费| 久久黄色级2电影| 欧美一区二区三区小说| 天堂一区二区在线| 欧美综合天天夜夜久久| 亚洲人成伊人成综合网小说| 成人一区二区三区视频在线观看| 欧美成人乱码一区二区三区| 日本va欧美va精品| 7777精品伊人久久久大香线蕉完整版| 夜夜嗨av一区二区三区中文字幕 | 精品sm捆绑视频| 久久99热99| 精品国产99国产精品| 精品一区二区三区久久| 精品人在线二区三区|