資源簡介
代碼片段和文件信息
/*?----------------------------------------------------------?
文件名稱:DeviceIoControl.cs?
?
作者:秦建輝?
?
MSN:splashcn@msn.com?
QQ:36748897?
?
博客:http://blog.csdn.net/jhqin?
博客:http://ccjt.taobao.com?
?
開發環境:?
????Visual?Studio?V2010?
????.NET?framework?4?Client?Profile?
?
版本歷史:?
????V1.0????2011年10月10日?
????????????實現對DeviceIoControl接口的PInvoke?
?
參考資料:?
????http://www.pinvoke.net/?
------------------------------------------------------------?*/
using?System;
using?System.Runtime.InteropServices;
namespace?Splash.IO.PORTS
{
????#region?ENUM
????public?enum?USB_HUB_NODE?:?uint
????{
????????UsbHub
????????UsbMIParent
????}
????//USB連接狀態
????public?enum?USB_CONNECTION_STATUS
????{
????????NoDeviceConnected
????????DeviceConnected
????????DeviceFailedEnumeration
????????DeviceGeneralFailure
????????DeviceCausedOvercurrent
????????DeviceNotEnoughPower
????????DeviceNotEnoughBandwidth
????????DeviceHubNestedTooDeeply
????????DeviceInLegacyHub
????}
????public?enum?USB_DEVICE_SPEED?:?byte
????{
????????UsbLowSpeed????//?低速USB?1.1??
????????UsbFullSpeed???//?全速USB?1.1??
????????UsbHighSpeed???//?高速USB?2.0??
????????UsbSuperSpeed???//?極速USB?3.0??
????}
????#endregion
????public?partial?class?USB
????{
????????internal?const?Int32?IOCTL_GET_HCD_DRIVERKEY_NAME?=?0x220424;
????????internal?const?Int32?IOCTL_USB_GET_ROOT_HUB_NAME?=?0x220408;
????????internal?const?Int32?IOCTL_USB_GET_NODE_CONNECTION_NAME?=?0x220414;
????????internal?const?Int32?IOCTL_USB_GET_NODE_INFORMATION?=?0x220408;
????????internal?const?Int32?IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX?=?0x220448;
????????internal?const?Int32?IOCTL_USB_GET_DEscriptOR_FROM_NODE_CONNECTION?=?0x220410;
????????internal?const?Int32?MAXIMUM_USB_STRING_LENGTH?=?255;
????????internal?const?Int32?USB_STRING_DEscriptOR_TYPE?=?3;
????????[StructLayout(LayoutKind.Sequential?CharSet?=?CharSet.Auto)]
????????internal?struct?USB_HCD_DRIVERKEY_NAME
????????{
????????????public?Int32?ActualLength;
????????????[MarshalAs(UnmanagedType.ByValTStr?SizeConst?=?256)]
????????????public?String?Name;
????????}
????????#region?USB_NODE_INFORMATION
????????[StructLayout(LayoutKind.Sequential?Pack?=?1)]
????????internal?struct?USB_HUB_DEscriptOR
????????{
????????????public?Byte?bDescriptorLength;
????????????public?Byte?bDescriptorType;????//?描述符類型:0x29??
????????????public?Byte?bNumberOfPorts;?????//?支持的下游端口數目??
????????????public?Int16?wHubCharacteristics;???//?特征描述??
????????????public?Byte?bPowerOnToPowerGood;????//?從端口加電到端口正常工作的時間間隔(以2ms為單位)??
????????????public?Byte?bHubControlCurrent;?????//?設備所需最大電流??
????????????[MarshalAs(UnmanagedType.ByValArray?SizeConst?=?64)]
????????????public?Byte[]?bRemoveAndPowerMask;??//?指示連接在集線器端口的設備是否可移走??
????????}
????????[StructLayout(LayoutKind.Sequential)]
????????internal?struct?USB_HUB_INFORMATION
????????{
????????????public?USB_HUB_DEscriptOR?HubDescriptor;
????????????
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????30208??2016-01-17?20:40??HidConnerCs_V2\HidConnerCs\bin\Debug\HidConnerCs.exe
?????文件??????48640??2016-01-17?20:40??HidConnerCs_V2\HidConnerCs\bin\Debug\HidConnerCs.pdb
?????文件??????22712??2016-01-17?20:48??HidConnerCs_V2\HidConnerCs\bin\Debug\HidConnerCs.vshost.exe
?????文件????????490??2013-03-18?17:00??HidConnerCs_V2\HidConnerCs\bin\Debug\HidConnerCs.vshost.exe.manifest
?????文件??????69632??2014-11-04?22:41??HidConnerCs_V2\HidConnerCs\bin\Debug\nunit.fr
?????文件???????9968??2016-01-17?20:48??HidConnerCs_V2\HidConnerCs\DeviceIoControl.cs
?????文件???????9570??2016-01-17?20:40??HidConnerCs_V2\HidConnerCs\Form1.cs
?????文件??????17890??2016-01-17?20:40??HidConnerCs_V2\HidConnerCs\Form1.Designer.cs
?????文件???????6015??2016-01-17?20:40??HidConnerCs_V2\HidConnerCs\Form1.resx
?????文件??????34297??2016-01-17?20:39??HidConnerCs_V2\HidConnerCs\hid.cs
?????文件???????4226??2016-01-17?20:03??HidConnerCs_V2\HidConnerCs\HidConnerCs.csproj
?????文件????????791??2016-01-17?18:11??HidConnerCs_V2\HidConnerCs\obj\Debug\DesignTimeResolveAssemblyReferences.cache
?????文件???????6948??2016-01-17?20:03??HidConnerCs_V2\HidConnerCs\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache
?????文件???????2674??2016-01-17?20:48??HidConnerCs_V2\HidConnerCs\obj\Debug\HidConnerCs.csproj.FileListAbsolute.txt
?????文件????????847??2016-01-17?20:40??HidConnerCs_V2\HidConnerCs\obj\Debug\HidConnerCs.csproj.GenerateResource.Cache
?????文件??????30208??2016-01-17?20:40??HidConnerCs_V2\HidConnerCs\obj\Debug\HidConnerCs.exe
?????文件????????180??2016-01-17?20:40??HidConnerCs_V2\HidConnerCs\obj\Debug\HidConnerCs.Form1.resources
?????文件??????48640??2016-01-17?20:40??HidConnerCs_V2\HidConnerCs\obj\Debug\HidConnerCs.pdb
?????文件????????180??2016-01-17?20:03??HidConnerCs_V2\HidConnerCs\obj\Debug\HidConnerCs.Properties.Resources.resources
?????文件???????5142??2014-11-05?14:15??HidConnerCs_V2\HidConnerCs\obj\Debug\ResolveAssemblyReference.cache
?????文件???????4608??2016-01-17?18:11??HidConnerCs_V2\HidConnerCs\obj\Debug\TempPE\Properties.Resources.Designer.cs.dll
?????文件????????492??2014-11-04?22:17??HidConnerCs_V2\HidConnerCs\Program.cs
?????文件???????1378??2014-11-04?22:17??HidConnerCs_V2\HidConnerCs\Properties\AssemblyInfo.cs
?????文件???????2862??2016-01-17?18:11??HidConnerCs_V2\HidConnerCs\Properties\Resources.Designer.cs
?????文件???????5612??2014-11-04?22:17??HidConnerCs_V2\HidConnerCs\Properties\Resources.resx
?????文件???????1111??2016-01-17?18:11??HidConnerCs_V2\HidConnerCs\Properties\Settings.Designer.cs
?????文件????????249??2014-11-04?22:17??HidConnerCs_V2\HidConnerCs\Properties\Settings.settings
?????文件????????155??2013-05-25?11:30??HidConnerCs_V2\HidConnerCs\WDKUsbEnum.cs
?????文件???????1002??2016-01-17?18:13??HidConnerCs_V2\HidConnerCs.sln
????..A..H.?????34304??2014-11-05?14:27??HidConnerCs_V2\HidConnerCs.suo
............此處省略19個文件信息
- 上一篇:C#實現Spy++
- 下一篇:C#與三菱Q系列PLC以太網通信
評論
共有 條評論