草庐IT

USB_HANDLE

全部标签

C++ USB 通信

我在与Windows上的USB设备通信时遇到问题。我不能使用libusb或WinUSB,因为我有一个特定的驱动程序(SilabsUSB到UART,这是一个USB到串口的桥接器)。这就是我初始化设备文件、发送和读取数据以及关闭句柄的方式。HANDLEhDevFile=CreateFile(L"\\??\\USB#VID_10C4&PID_EA60#0001#{a5dcbf10-6530-11d2-901f-00c04fb951ed}",GENERIC_READ|GENERIC_WRITE,0,0,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL|FILE_FLAG_

windows - 如何修改鼠标输入 WDF 筛选器驱动程序 (Moufiltr) 以适用于 USB 鼠标?

Thisfilterdriverexample适用于PS2设备,但我不知道如何让它适用于x64上的USB鼠标。有什么想法吗?这是INF文件问题吗?或者是否也需要更改代码? 最佳答案 您是否尝试过将“HID_DEVICE_SYSTEM_MOUSE”添加为受支持的硬件ID之一?您可能还想查看这篇文章:http://www.osronline.com/showthread.cfm?link=262117 关于windows-如何修改鼠标输入WDF筛选器驱动程序(Moufiltr)以适用于USB

c++ - 使用哪个代码片段来处理 USB 设备插入?

应用程序可以使用RegisterDeviceNotification函数注册以接收来自系统的通知消息。Thisexample展示了如何为设备接口(interface)注册事件通知,这些设备接口(interface)是其GUID传递给函数的接口(interface)类的成员。在这个例子中,我应该使用哪个代码片段来处理USB设备插入消息? 最佳答案 搜索DBT_DEVICEARRIVAL:这是处理USB设备插入消息的地方。caseWM_DEVICECHANGE:{////Thisistheactualmessagefromtheinte

c++ - 将 32 位值转换为 HANDLE

我正在处理一个提供32位自定义句柄的组件,我想使用标准的WindowsHANDLE类型来包装它。在遗留组件中,我看到了以下两种转换方法的使用://valueis32-bitsautovalue=GetCustomHandle();HANDLEhA=HANDLE(value);HANDLEhB=(void*)(SIZE_T)value;hA和hB总是等价的吗?如果不是,在什么情况下不是?在这种情况下,我认为它们总是等价的,因为:函数式转换和类C转换之间没有区别。HANDLE等同于void*。void*和SIZE_T的大小在32位系统上为32位,在64位系统上为64位。谢谢。

windows - 是否存在函数 CreateFile 返回 INVALID_HANDLE_VALUE 而 GetLastError() 返回 ERROR_ALREADY_EXISTS 的情况

我在MSDN上搜索了一下HANDLEWINAPICreateFile(_In_LPCTSTRlpFileName,_In_DWORDdwDesiredAccess,_In_DWORDdwShareMode,_In_opt_LPSECURITY_ATTRIBUTESlpSecurityAttributes,_In_DWORDdwCreationDisposition,_In_DWORDdwFlagsAndAttributes,_In_opt_HANDLEhTemplateFile);如果dwCreationDisposition==CREATE_ALWAYS或OPEN_ALWAYS,它表

windows - 在 Windows 中查找 USB 以太网链路本地 IP 地址

所以我有一个raspberrypi和另一个我通过USB使用以太网通过ssh连接的设备,我找不到找到链接本地IP地址的方法例如,如果我有bonjour和putty,那么raspberrypi.local会将我连接到我已连接的pi。使用ifconfig我看到设备在169.254.x.x上并且也可以使用该地址通过ssh连接到它。我希望能够通过Windows命令提示符(或PowerShell/GUI,如果有的话)找到链接本地IP地址,以便通过查看其IP来访问我的其他设备 最佳答案 所以我发现,如果您转到ipconfig/all并找到ethe

php - curl 窗口 : the provided file handle is not writable

我在执行curl请求时随机“无错误地挂起”。我正在尝试检测来源,因为Web服务器和php日志没有显示任何错误,所以我尝试启用CURLOT_STDERR。我有以下代码:$file='curl.txt';$curl=curl_init();$curl_log=fopen($file,'rw');var_export(is_writable($file));$url='http://www.google.com';curl_setopt_array($curl,array(CURLOPT_URL=>$url,CURLOPT_VERBOSE=>1,CURLOPT_STDERR=>$curl_l

string - 批处理 : Handle numbers above 2^32

我想在依赖于我的可用存储空间的批处理文件中执行操作,但它失败了(有趣的是,只是有时),因为可用空间超过2GB,使得变量无法设置。这是批处理文件:cd"C:\Users\Fabian\Desktop\ScreenRecordings\Auto"for/F"usebackqdelims==tokens=2"%%xin(`wmiclogicaldiskwhere"DeviceID='C:'"getFreeSpace/format:value`)do(setFreeSpace=%%x)if(%FreeSpace%)LSS(2499522027520)(for/F"delims="%%ain('

c++ - 为什么错误 1400 Invalid window handle?

#include#include#includeHWNDWindowHandle;HINSTANCEInstance;constwchar_tWindowClassName[]=L"TempProjcet";LRESULTCALLBACKWindowProc(HWND_windowHandle,UINT_msg,WPARAM_param,LPARAM_param1){switch(_msg){caseWM_PAINT:{PAINTSTRUCTps;HDChdc=BeginPaint(WindowHandle,&ps);FillRect(hdc,&ps.rcPaint,(HBRUSH)(

Windows 内核驱动程序 : Does the "HANDLE UniqueThread" in "CLIENT_ID CreatingThreadId" is the same during the process loading?

我正在尝试编写一个APCdll注入(inject)驱动程序,我找到了this示例并考虑根据我的需要对其进行修改。在我理解了代码之后,我想到了如何修改它(我的问题由此而来)。在code,作者使用了PsLookupThreadByThreadId接收指向目标进程的ETHREAD结构的引用指针。PsLookupThreadByThreadId(pSpi->Threads[0].ClientId.UniqueThread,&Thread)但要得到SYSTEM_THREAD_INFORMATION对于UniqueThreadhandle,他用过ZwQuerySystemInformation我想