Processing an OS Descriptor request -- Remote Desktop Protocol
Special processing on the client is needed when processing TS_URB_OS_FEATURE_DESCRIPTOR_REQUEST.
The following describes how to get the OS-specific string descriptor.
To retrieve a device's OS string descriptor, send a standard GET_DESCRIPTOR control request to the device.
For details on how to construct GET_DESCRIPTOR control requests, see [USB-SPC2.0] section 9.4 "Standard Device Requests."
The request must have the format shown in the following table.
|
bmRequestType |
bRequest |
wValue |
wIndex |
wLength |
Data |
|---|---|---|---|---|---|
|
1000 0000B |
GET_DESCRIPTOR |
0x03EE |
0x0000 |
0x12 |
Returned string |
bmRequestType: IN. This 1-byte field is divided into three parts that indicate the data transfer direction, the descriptor type, and the recipient.
To retrieve a USB string descriptor, bmRequestType MUST be set to 10000000B (0x80).
bRequest: IN. This field specifies the request type. It should be set to the standard GET_DESCRIPTOR request code.
wValue: IN. This field is split into two parts for GET_DESCRIPTOR requests.
The high byte contains the descriptor type. To retrieve a string descriptor, set this byte to 0x03.
The low byte contains the descriptor's string index, which indicates where the descriptor is stored in firmware.
To retrieve an OS string descriptor, set this byte to 0xEE.
wIndex: IN. This field specifies the descriptor's language ID. It must be set to 0 for OS string descriptors.
wLength: IN. This field specifies the length of the buffer, in bytes, that is to receive the string descriptor.
The device should respond to values ranging from 0x02-0xFF. wLength should be set to 0x12 for OS string descriptors.
Data: OUT. This field is a pointer to the buffer that will receive the requested descriptor. The format of the descriptor is described in the following table.
For more details on how to send control requests, see [USB-SPC2.0].
If a device does not have a valid string descriptor at 0xEE, it responds with a Stall or Request Error.<4>
If an OS string descriptor request is successful, the device returns the descriptor in the request's Data field.
Version 1.00 of the OS string descriptor has a fixed length of 18 bytes, with a structure as shown in the following table.
This format MUST be used by all OS string descriptors.
|
Length |
Type |
Signature |
MS Vendor Code |
Pad |
|---|---|---|---|---|
|
0x14 |
0x03 |
MSFT100 |
unsigned byte |
0x00 |
Length: An unsigned byte and MUST be set to 0x14.
Type: An unsigned byte and MUST be set to 0x03.
Signature: A Unicode string and MUST be set to "MSFT100".
MS Vendor Code: An unsigned byte, it will be used to retrieve associated feature descriptors.
Pad: An unsigned byte and MUST be set to 0x00.
When processing the Signature and MS VendorCode fields:
The Signature field contains a Unicode character array that identifies the descriptor as an OS string descriptor
and includes the version number.
For version 1.00, this array must be set to "MSFT100" (0x4D00 0x5300 0x4600 0x5400 0x3100 0x3000 0x3000).The MS VendorCode field is used to retrieve the associated feature descriptors.
This code is used as Requestfield in TS_URB_CONTROL_VENDOR_OR_CLASS_REQUEST section 2.2.9.12.
Because independent hardware vendors can store string descriptors at any index,
there is no guarantee that a string descriptor stored at 0xEE is an OS string descriptor.<5>
Processing an OS Descriptor request -- Remote Desktop Protocol的更多相关文章
- Connect to a Windows PC from Ubuntu via Remote Desktop Connection
http://www.7tutorials.com/connecting-windows-remote-desktop-ubuntu A useful feature of Windows is be ...
- Running a Remote Desktop on a Windows Azure Linux VM (远程桌面到Windows Azure Linux )-摘自网络(试了,没成功 - -!)
A complete click-by-click, step-by-step video of this article is available ...
- 使用ubuntu远程连接windows, Connect to a Windows PC from Ubuntu via Remote Desktop Connection
from: https://www.digitalcitizen.life/connecting-windows-remote-desktop-ubuntu NOTE: This tutorial w ...
- [官网]Prevent a worm by updating Remote Desktop Services (CVE-2019-0708)
Prevent a worm by updating Remote Desktop Services (CVE-2019-0708) ★★★★★ https://blogs.technet.micro ...
- [OS] 修改屏幕分辨率(用Remote Desktop Connection 或者 用工具:Remote Desktop Connection Manager)
用Remote Desktop Connection Remote Desktop Connection Manager
- remote desktop connect btw Mac, Windows, Linux(Ubuntu) Mac,Windows,Linux之间的远程桌面连接
目录 I. 预备 II. Mac连接Windows III. Windows连接Mac IV. Windows连接Ubuntu V. Mac连接Ubuntu VI. Ubuntu连接Mac VII, ...
- Windows组件:打开MSDTC,恢复Windows TaskBar,查看windows日志,打开Remote Desktop,打开Services,资源监控
一,Win10 打开 MSDTC 1,Win+R 打开运行窗口,输入 dcomcnfg,打开组件服务窗口 2,在组件服务 catalog下找到 Distributed Transaction Coor ...
- Configure Security Settings for Remote Desktop(RDP) Services Connections
catalogue . Configure Server Authentication and Encryption Levels . Configure Network Level Authenti ...
- Remote Desktop File Format
转自:http://engrmosaic.uncc.edu/mosaic-anywhere/remote-desktop-file-format The new Terminal Services c ...
随机推荐
- 【两分钟视频教程】如何使用myeclipse在mac本机运行iOS配套的服务器
如何使用myeclipse在mac本机运行iOS配套的服务器
- Spark笔记之数据本地性(data locality)
一.什么是数据本地性(data locality) 大数据中有一个很有名的概念就是"移动数据不如移动计算",之所以有数据本地性就是因为数据在网络中传输会有不小的I/O消耗,如果能够 ...
- linux动态追踪神器——Strace实例介绍【转】
Strace是Linux下一款通用的进程动态跟踪工具,用来追踪程序执行时的系统调用和所接收的信号.其应用方法如下图(部分). 首先,简单说说它的使用参数,Strace的参数包括输出参数.过滤参数.统计 ...
- ajax与302响应
在ajax请求中,如果服务器端的响应是302 Found,在ajax的回调函数中能够获取这个状态码吗?能够从Response Headers中得到Location的值进行重定向吗?让我们来一起看看实际 ...
- springboot中url地址重写(urlwrite)
在日常网站访问中,会把动态地址改造成伪静态地址. 例如: 访问新闻栏目 /col/1/,这是原有地址,如果这样访问,不利于搜索引擎检索收录,同时安全性也不是很好. 改造之后: /col/1.html. ...
- [golang note] 环境搭建
LiteIDE(windows) • golang安装 ▶ 下载对应操作系统的版本并安装,下载地址:http://www.golangtc.com/download,譬如这里下载的是go1.6.win ...
- ftp配置文件
vsftpd配置文件采用“#”作为注释符,以“#”开头的行和空白行在解析时将被忽略,其余的行被视为配置命令行,每个配置命令的“=”两边不要留有空格.对于每个配置命令,在配置文件中还列出了相关的配置说明 ...
- Java编程的逻辑 (42) - 排序二叉树
本系列文章经补充和完善,已修订整理成书<Java编程的逻辑>,由机械工业出版社华章分社出版,于2018年1月上市热销,读者好评如潮!各大网店和书店有售,欢迎购买,京东自营链接:http:/ ...
- 图学ES6-1.ECMAScript 6简介
- 【LOJ】#6434. 「PKUSC2018」主斗地
题解 什么,我这题竟然快到了LOJ rk1???? 搜起来有点麻烦,不过感觉还是比斗地主好下手(至今没敢写斗地主 首先是暴力搜牌型,最多\(3^{16}\)(什么判解还要复杂度怂成一团)的样子?? 然 ...