最近更新
    URB的同步调用一般使用:Windows下USB驱动同步URB转IRP请求函数代码 http://www.usbzh.com/fun/detail-31.html但是,在某些特定的情况下,有时会因为下底设备并没有完成而挂死。这里提供一种超时取消IRP的方法,同时考虑到了线和切换的情况。这里的实现机制...
    阅读数:7 点赞数:0 2021-07-14
    DirectShow默认是不支持NV12,H264等非原生态数据格式的,为了支持这些非原生态的格式,微软的DirectShow使用过滤器来实现。具体原理就是在对收到的不支持的数据格式进行转码,这样就可以渲染了。 说明:本段代码来自USB中文网技术交流群,感谢临江仙的分享! class CForm...
    阅读数:14 点赞数:0 2021-07-13
    使用VC编程,打开摄像头并播放 PlayCap.cpp #define _WIN32_WINNT 0x0500 #include #include #include #include <...
    阅读数:25 点赞数:0 2021-07-01
    PCHAR PnPMinorFunctionString( UCHAR MinorFunction ) { static char str[256]; switch (MinorFunction) { case IRP_MN_START_DEVICE: ...
    阅读数:13 点赞数:0 2021-06-30
    URB有同步请求,也有异步请求。这里微软官方提供了一个异步请求URB的代码示例 // The SubmitUrbASync routine submits an URB asynchronously. // // Parameters: // // Parameters: // Devic...
    阅读数:7 点赞数:0 2021-06-30
    Windows的设备在驱动中大部分都会IoSetRegisterInterface,这其中一个重要的参数是GUID,这样系统会根据这个GUID给设备创建一个symbolicname,这个名字在应用层可以通过CreateFile打开。这里分享一个在应用层通过SetuApi枚举该类型GUID下的所有设备...
    阅读数:13 点赞数:0 2021-06-29
    UVC 视频流接口控制请求 http://www.usbzh.com/article/detail-45.html 需要使用一些数据字段进行通讯,如UVC1.0是26个字节的长度,UVC1.1是34字节的长度,UVC1.5是48字节的长度。这里我们定义一个通用长48字节结构体,对应VS_PROBE_...
    阅读数:26 点赞数:0 2021-06-29
    USB设备的一个种要的概念就是各种描述符,如设备描述符,配置描述符,字符串描述符等等。在设备驱动驱动开发中,通过读取这些描述符可以知道该USB设备的相关信息。这里我们对在Windows驱动开发过程的获取USB设备的描述符进行代码封装成函数GetDescriptor。 NTSTATUS GetDesc...
    阅读数:24 点赞数:0 2021-06-29
    URB和IRP类似,只不过一个应用于通用的Windows驱动,一个专职于USB。USB的URB的负载是IRP,其通过负载到IRP时,然后使用通用的Windows IRP请求发向下层目标USB设备。USB与IRP的关联是通过IRP的IO_STACK_LOCATION的 IoStack->Para...
    阅读数:21 点赞数:0 2021-06-29
    Windows驱动开发过程中,关于设备DEVICE_OBJECT有一堆的属信息,如硬件ID,兼容ID之类的,这些属性信息大部分在应用层是可以根据Setup系列函数获取到的。但在驱动层怎么获取PNP上报的物理设备PDO的这些属性信息呢? 常见的属性信息有: wdm.h:33601 typedef en...
    阅读数:283 点赞数:0 2021-06-24
    USBIP驱动层中有一段代码,是通过USB的版本来判断当前USB的速率。判断的标准是以USB设备描述符bcdUSB字段来判断的。 static const struct speed_string speed_strings[] = { { USB_SPEED_UNKNOWN, u...
    阅读数:22 点赞数:0 2021-06-24
    Windows驱动硬件ID生成的测试代码 Index = swprintf(Buffer, L USB\Class_%02x&SubClass_%02x&Prot_%02x , DeviceDescriptor->bDeviceClass, DeviceD...
    阅读数:20 点赞数:0 2021-06-23