草庐IT

端点描述符

全部标签

windows - 获取 HID 设备的功能报告描述符的 native 方法?

我们有一些与内部研发工具通信的HID设备(触摸数字化仪)。此工具从设备解析原始功能报告以绘制触摸报告以及原始功能报告中存在但被Windows7的HID驱动程序过滤掉的一些其他数据(例如,压力数据WM_TOUCH消息中不存在)。但是,我们已经开始使用一些可能具有不同固件变体的设备,因此它们不共享相同的字段顺序或字节长度,我需要修改我们的研发工具,以便它能够透明地适应所有设备。这些设备来自同一制造商(我们自己)并共享相同的设备信息,因此无法使用这些字段来区分不同的固件。我想做的是获取设备发送的HID功能报告描述符,并根据此信息动态更新我们的功能报告解析方法。但是,在浏览WindowsAPI

c++ - 默认安全描述符

我的应用程序有2个进程,一个需要提升,另一个不需要,但是它们在同一桌面上的同一用户帐户下运行。我需要在从文件读取的提升进程中创建一个文件(不在磁盘上,其他类型的文件),但让我的非提升进程对该文件具有写访问权限。使用nullptrSECURITY_ATTRIBUTES,非提升进程无法打开文件,CreateFile失败并显示拒绝访问代码。这是预期的,SetSecurityDescriptorDacl解决方法类似于thisanswer工作正常。但是,我不喜欢这种解决方法。我不想将对该文件的写入权限授予所有人。我只想授予当前用户访问权限。这有点敏感,提升的读取器进程将运行数小时,我不希望每个人

python - 如何使用 Python 在 Windows 7 文件资源管理器中访问和更改 JPEG 图像的标签描述属性?

我很难理解如何通过Python更改JPEG文件的标签。我指的“标签”是指任何任意文件的描述属性下的标签,其中还可以找到评论、主题和评级。我不确定是否有类似于文件名重命名功能的.os功能可以执行此操作,或者这种更改标签的操作是否属于JPEG元数据/EXIFDATA操作的类别。例如,我想通过Python向JPEG图像添加3个标签,即标签BLUE、SQUARE和9。我会手动转到文件,通过右键单击文件查看其标签,或单击底部栏菜单,然后单击标签,然后在文本框中输入BLUE、SQUARE和9,每个单独的标签后有一个分号。使用Python时,我需要一个脚本来将这些单独的标签注入(inject)到JP

c++ - 如何从处于低功耗状态的 USB 设备获取字符串描述符?

我正在尝试用C++编写一个应用程序,其中列出了从USB设备获得的信息。我正在关注USBView(Github)实用程序的代码。当设备处于D0电源状态(完全供电)时,我能够获取字符串描述符,但是当设备进入低电源状态时(D2),我不是。IOCTLIOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION返回错误“连接到系统的设备无法正常工作”。USBView实用程序显示当设备处于低功耗状态时字符串描述符不可用。这种行为很奇怪,我在USB规范中没有找到任何地方提及它。我检查了2台设备,我得到了相同的行为。即使在D2状态下,我也可以获得其他描述符,例如设备描述符

windows - 在 WebDAV 响应中显示错误描述

我构建了一个WebDAV兼容的服务器端应用程序,它连接到WindowsWeb文件夹。当我进行一些手动测试以确认代码执行了它应该执行的操作时,我想知道是否有任何方法可以对服务器遇到的错误进行更详细的描述。Example:IwastryingtodoaPUTforafilecalled'other'inacollectionwhichcontainedacollectioncalled'other'.Themethodfailedforobviousreasons,buttheresponsecontainednoinformationthatcouldhelptheuseridentif

windows - 适用于 Windows XP、7、8 应用程序的 USB 麦克风描述符

我正在尝试使用STMicroelectronics的USB-FS库在STM32F103上实现USB麦克风。在WindowsXP、7和8上检测到我的麦克风。当我尝试使用Audacity录制语音时,信号在WindowsXP和Windows8上是正确的,但在Windows7上信号被放大了。有人知道发生了什么事吗?这是描述符:constuint8_tMic_ConfigDescriptor[]={/*Configuration1*/0x09,/*bLength*/USB_CONFIGURATION_DESCRIPTOR_TYPE,/*bDescriptorType*/0x64,/*wTotal

c++ - 来自 D3D 显示适配器 ID 的描述性监视器名称

正如问题所暗示的,我试图提取一个描述性的监视器名称以匹配显示适配器名称。下面的代码给了我一个像\.\DISPLAY1这样的设备ID,这是可以理解的,但不是我要找的。//Getname.D3DADAPTER_IDENTIFIER9d3dID;d3d9.Get().GetAdapterIdentifier(iAdapter,0,&d3dID);dispAd.name=d3dID.Description;//AddmonitorIDtodisplayadaptername.FIX_ME//Nothappywiththisyet!HMONITORhMonitor=d3d9.Get().GetA

c# - 使用 WqlEventQuery 检测插入的 USB 设备并检索它们的描述信息

我玩弄WqlEventQuery是为了识别插入USB的设备varquery=newWqlEventQuery();query.EventClassName="__InstanceOperationEvent";query.WithinInterval=newTimeSpan(0,0,2);query.Condition=@"TargetInstanceISA'Win32_USBControllerdevice'";using(varwatcher=newManagementEventWatcher(query)){watcher.EventArrived+=WatcherEvent;w

python - 向文件描述符写入 0 个字符

我有一个特定的硬件驱动程序,它要求我在其文件描述符上调用_write(fd,0,0)以触发某些特定行为。我希望能够从Python中做到这一点-请问有人可以建议一种实现此目的的方法吗?编辑(应该把它放在开头,抱歉!):已经尝试过但行不通的事情:f.write("")os.write(fd,"")os.fdsync(fd) 最佳答案 如果你真的需要一个空指针(多么糟糕的驱动程序设计-ioctl会好得多),你将不得不通过ctypes。至少,importctypesctypes.cdll.msvcrt._write(1,0,0)似乎有效。

c++:让用户进程写入 LOCAL_SYSTEM 命名管道 - 自定义安全描述符

我有一个作为LocalSystem运行的服务,它在登录用户的session中创建一个进程。然后该服务创建一个命名管道,客户端连接到该管道进行读写。根据https://msdn.microsoft.com/en-us/library/aa365600%28v=vs.85%29.aspx客户端只能从管道中读取(它不是Admin,不是Creator,也不是LocalSystem)。我创建了一个安全描述符来授予用户读写访问权限。但这没有用。所以我尝试为Everyone-Group提供读写访问权限。但这也行不通。我的客户端返回的错误代码始终是ACCESS_DENIED(5)。我很高兴知道我做错了