现在一步一步:我想连接到该设备以读取或写入数据包或其他任何内容。或者至少我想找到它就像DM找到它一样(如果我拔掉它,它会从DM中消失,当我把它重新插入其中时再次出现)。
CreateFile
似乎能够打开文件和设备。好吧,现在我不想要文件,我想要设备。我可以通过WinApi获取设备的句柄,还是有更好的方法?
[DllImport("kernel32.dll", SetLastError = true, CharSet = CharSet.Auto)]
public static extern IntPtr CreateFile(string filename,
[MarshalAs(UnmanagedType.U4)] FileAccess access,
[MarshalAs(UnmanagedType.U4)] FileShare share,
[Optional] IntPtr securityAttributes,
[MarshalAs(UnmanagedType.U4)] FileMode creationDisposition,
[MarshalAs(UnmanagedType.U4)] FileAttributes flagsAndAttributes,
[Optional] IntPtr templateFile);
IntPtr file = CreateFile(@"USB\VID_0403&PID_ECD9", FileAccess.Read, FileShare.ReadWrite,
IntPtr.Zero, FileMode.OpenOrCreate, FileAttributes.Device, IntPtr.Zero);`
这里CreateFile
的结果是null
(GetLastError = ERROR_PATH_NOT_FOUND)。
答案 0 :(得分:0)
您的路径应该像 @“ \?\ USB#VID_0403&PID_ECD9#000000000aaa#{ae18aa60-7f6a-11d4-97dd-00010229b959}”