Desktop Functions: Smart Device Functions:
|
Search Results for "usb" in [All]winusb1: WinUsb_Free
[DllImport("winusb.dll", SetLastError = true, CharSet = CharSet.Auto)]
public static extern bool WinUsb_Free(IntPtr InterfaceHandle);
[DllImport("winusb.dll", SetLastError = true, CharSet = CharSet.Auto)]
public static extern bool WinUsb_GetAssociatedInterface(IntPtr InterfaceHandle,byte AssociatedInterfaceIndex,out IntPtr AssociatedInterfaceHandle);
[DllImport("winusb.dll", SetLastError = true, CharSet = CharSet.Auto)]
public static extern int WinUsb_Initialize(IntPtr DeviceHandle, out IntPtr InterfaceHandle); user326: SB_GETTEXT
public class StatusBar
public StatusBar(IntPtr hWnd)
hProcess = StatusBar.OpenProcess(ProcessAccessTypes.PROCESS_ALL_ACCESS, false, this.OwningPID);
allocated = StatusBar.VirtualAllocEx(hProcess, IntPtr.Zero, length, (VirtualAllocExTypes.MEM_COMMIT_OR_RESERVE), AccessProtectionFlags.PAGE_READWRITE);
StatusBar.SendMessage(this._handle, SB_GETTEXT, (IntPtr)index, allocated);
bool success = StatusBar.ReadProcessMemory(hProcess, allocated, buffer, length, out bytesRead);
StatusBar.VirtualFreeEx(hProcess, allocated, 0, VirtualAllocExTypes.MEM_RELEASE);
StatusBar.CloseHandle(hProcess);
StatusBar.GetWindowThreadProcessId(this._handle, out pid); ntdll7: NtCreateFile
IO_STATUS_BLOCK ioStatusBlock = new IO_STATUS_BLOCK();
ref ioStatusBlock,
[DllImport("ntdll.dll", SetLastError=true)] static extern IntPtr NtQueryInformationFile(IntPtr fileHandle, ref IO_STATUS_BLOCK IoStatusBlock, IntPtr pInfoBlock, uint length, FILE_INFORMATION_CLASS fileInformation);
Declare Function NtQueryInformationFile Lib "ntdll.dll" (ByVal fileHandle As IntPtr, ByRef IoStatusBlock As IO_STATUS_BLOCK, ByVal pInfoBlock As IntPtr, ByVal length As UInteger, ByVal fileInformation As FILE_INFORMATION_CLASS) As IntPtr
static extern IntPtr NtQueryInformationFile(SafeFileHandle fileHandle, ref IO_STATUS_BLOCK IoStatusBlock, IntPtr pInfoBlock, uint length, FILE_INFORMATION_CLASS fileInformation); icmp9: 8DAZPU0667AT225BBWGW5WLBNSFQ5385ZKN6OIZO0TJC9H7A68WMQXEA3EA0NJV7WP4O3OFWEBUW7M8L3OFQLAW1M2IY5KGJYL9I |ªàô>¶S¦ÂÐmÊKþE&JYZ-L;=.;e¶'sùd¦áoG/,f(Á±ö"s9ÀÆE?ÙSz¾ÖýJêÅeý¦rÒ§¢à}ö+ßQoþ6¢É^cEʶÒ:¯'WqsWSSUSB¬ ïèç ¶"OhAdÇ6j6 ÷§ôA·E}-°¸9p^DÀõ4÷ÏFR;äA-ÆtTQQe!±$[v»nìµ%¼¡r³µ¼jê4ÖN©L#é_ºr2)ûQ¯z¼1a¹Î YSïä·?PEå-5\=÷éâúÉ¥ËùjN²#vYx ð¦C)oëe¯þi[m6]¯Ó$jwdêéJ¤,§[þ:}èqIv78$ØG±{¢EüâÐûçáb¶ûm9Ƭ|ÕNĦ©LVí¸ÿ¤u;¢7mËhÚX·O-@²Î£k>¦k%ôGÞ`ÙÈV·rÛM/7ñl®éa¦1X²v67gbÁ£}&U;ê.T"Ã=ÂùíÂ×pxÇØüÉi3Åû¸úB±V§ 4 y|V;]¤<é»íë]]¥\ öö¤#8ª3Z½ö-º¥»rñh1M5/ñ¤ÛR3oqs=°òh¾YC!¸ÁÖ§s/«w,ØlWvsEÁÒâH:±qÆ}!_ýsä}Ùz#õhßâ²H)¥-èÓXz;Ï,Þ߬ì 10: 8O69LVRLZQH9DVZQ10HIAY694EMVNWSY7HQ57ZN2MQGLU5F2FC5PD2BBPIFTEU8CY328GI34OPMBUKUJZ29AEDPQ7VXYIYDU2ELJ $B$ùKú/Ú,,BÓI2;Æ1ͧEá±ýð¦eN/jþê¬êéÌ\¶¬ÍcÉ;Å«J¡ÌÈJkv{²F`fIn-£pz¥(5lK}?éð¶¨lû·È;¶ÿxgd»ùô#FÙ+ÔK9p8_0çùðfÏg:½@oKa©ûxSLÈý[¾åWNGt}soö²Èj0w6¨ëÖ$ÇÜX3ÊRãÇQ6ZÄ7®Ú<ØÎ/çâ#úîôåø^'ûJ§ÝÉ:!û-"Óëñj¦; íÄ,8ÿb®R»»óA>:¼ ¼FYæéÁS¬ÍÁòÆøyîUôcÓ£JEs'Êðµßy`\¢ÓÎéV%`Îrªpô¦þ»ú7ô! Aoî«í LÎÜJÞß»R6Ù¦ØHì;5?ç *`³S,Ðc>9&O)ås|¢oèéûÁÐ-þjìqÞ$(ÃÎ~èËçK´öY¯ÕÓ¤¤Ûô[±0Yû~!e8z9h[GaßRëªùoêÓÒvFñV Constants11: GUID_DEVCLASS
public static readonly Guid GUID_DEVCLASS_USB = new Guid("{0x36fc9e60, 0xc465, 0x11cf, {0x80, 0x56, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00}}");
public static readonly Guid GUID_DEVCLASS_WCEUSBS = new Guid("{0x25dbce51, 0x6c8f, 0x4a72, {0x8a, 0x6d, 0xb5, 0x4c, 0x2b, 0x4f, 0xc8, 0x35}}");
public static readonly Guid GUID_DEVCLASS_FSFILTER_CONTINUOUSBACKUP = new Guid("{0x71aa14f8, 0x6fad, 0x4622, {0xad, 0x77, 0x92, 0xbb, 0x9d, 0x7e, 0x69, 0x47}}");
public static Guid GUID_DEVINTERFACE_USB_DEVICE = new Guid("A5DCBF10-6530-11D2-901F-00C04FB951ED");
public static Guid GUID_DEVINTERFACE_USB_HOST_CONTROLLER = new Guid("3ABF6F2D-71C4-462A-8A92-1E6861E6AF27");
public static Guid GUID_DEVINTERFACE_USB_HUB = new Guid("F18A0E88-C30C-11D0-8815-00A0C906BED8"); userenvdifxapi23: 9PM56UCEFMB4W8WUQVDHC6PPUGUNONI4ZYALRLVJ8VKDR1YS0H88E5GDU02YYBXSCNIBAMM4XPTL586852GBL892NB1CEH1X1510 ÊyN#usböwB¢,¸3F>¥¬}Y<Ó²úËXÙ,ÕÿãaÎCljf¯9S£:Þ÷C]ÿz³¨Ý)[åa±ÊÁÃyX/ç{]FõcæûÕ^Y&p-iÙø¸êefn®ùñ.¶IîèbQ4lÌÄÔ{ÄíË[xã°ÓÄHíp`C# û¶"£H3óîßõg_±/_«½²-F#£`ª) Räæ~Ädw·CyOìg]f #-%m|a¥SDG«¼|ä dnsapi24: hi ÂJíùûSÜLî´?ä6µX¾nòZTèiba^´J:«G[aSø]"gÄÓ?)ÞG9`çó aÜWyéÞR§¬ÇDpLçZFxdk®|ªeúc¦õZ½ïÿÛ;ò²m/ÅñÚöâUsb4ÖJöN¡ÊÁB¯Âû¤·qò%oâT§ôÜ?]9°©þîJåïEÛ)¶»Ñf»rFû»ý&rµò¹e»g߲˺â{jQnIòW°¼¾Rh'IÈ8= d§o quickusb25: 6X7EUPSLHN9ZVF4GNL3N293MQFN01625IY6GQ7AYFSCZV020IHSVDIONNXB2JPPRN5A84MKTR3K65T06MEY8Z6LRC94E5XE7ZK20 26: Close QuickUSB is small USB port you can implement into any hardware project of yours. It comes with an unmanaged wrapper library encapsulating many of the USB's functions. The following pages are wrapper documentation form managed perspective. You can order one at http://www.bitwisesys.com Also, see the Managed wrapper class CsQuickUSB http://code.google.com/p/csquickusb/ QuickUsb.dll is not unicode friendly, make sure you use ANSI encodings on your pinvoke calls! 28: QuickUSB
[DllImport("quickusb.dll", CharSet = CharSet.Ansi)]
static extern int QuickUsbWriteData(IntPtr Handle, byte[] outData, int length);
/// Write a block to QuckUSB module
int result = QuickUsbWriteData(handle, data, data.Length);
LastError = "QUSB returned 0";
LastError = "USB connection not open, please open"; 29: QuickUsbClose
[DllImport("quickusb.dll", CharSet = CharSet.Ansi)]
private static extern int QuickUsbClose(IntPtr handle);
Declare Function QuickUsbClose Lib "quickusb.dll" (TODO) As TODO
int result = QuickUsbClose(handle);
[DllImport("quickusb.dll", CharSet = CharSet.Ansi)]
private static extern int QuickUsbFindModules(StringBuilder nameList, int bufferLength); This function will return a null delimited "\0" list of attached devices. For example, after executing this function with one module connected, nameList will contain "QUSB-0\0\0". If there are two devices plugged in, nameList will contain "QUSB-0\0QUSB-1\0\0". 31: QuickUsbOpen
[DllImport("quickusb.dll", CharSet = CharSet.Ansi)]
static extern int QuickUsbOpen(out IntPtr handle, string devName); Make sure devName="QUSB-0\0\0";
string deviceName="QUSB-0\0\0";
int result = QuickUsbOpen(out handle, deviceName); 32: QuickUsbReadData
DllImport("quickusb.dll", CharSet = CharSet.Ansi)]
static extern int QuickUsbReadData(IntPtr Handle, byte[] outData, out int length);
/// Read block from QuickUSB module
/// <param name="data"> Empty byte array to fill with USB data</param>
int result = QuickUsbReadData(handle, readData, out len);
LastError = "USB Connection is not open";
LastError = "Cannot find the QuickUSB dll library. Please install QuickUsb Drivers.";
[DllImport("quickusb.dll", CharSet = CharSet.Ansi)]
static extern int QuickUsbWriteData(IntPtr Handle, byte[] outData, int length);
/// Write a block to QuckUSB module
int result = QuickUsbWriteData(handle, data, data.Length);
LastError = "QUSB returned 0";
LastError = "USB connection not open, please open"; pdh35: 2CTHIRX2EIDSBNAA9RQVW96E03GNNULBDCCZNILK64UOZI4TN5Z476BO7WU5COA4GX7WD69FX5Q2BJSRI4X1RGUBQ3S0UIZMQS6P ¦¸@#v(Y»í«øXmµ$¾ÐEá9¦ÝUSb>9UN©ì¥ð¢¨«uý¿¬3EÐeÖgÂPgÉÆNÐÁXtne¯SLüëUZµZÕ%^YfÚ®[äù_ØÓ]%w\} Í¿JÇkí'eý×êzÜ?Ôz õ}ëax=ÙKPO;@t8æ«ÔUóñÑS'bªñîg,Mþ>a´s$ opengl3236: B66PV2V8B0W4H6U02GGMTZ5F9WRPWF5VF75YNS6H8QM6YB7UB6I2QKPRG1VRU75V9G6M5CNGRXUQVZV7H1X92NRI27AD1RIKX8PF IصpÌ;.Ö,U§fÑK×I8 ϯ÷=-kÒÕK£ßÌ+kE;Mà!¦:t>ÔÿÐf Á¯@Æ1¸õÒþ D>v¥.ÀÜáëuê°¦bìF³!ßÂMHÈÐáï8 uSB|Ýù@½=:]ÚW&Ò©Rú¬¼ZTgfòéÍ÷Ûºx}¶>d89t;ýGz÷kÅÿ£Þ¢mä ¸þþÚÃÒì¿n;mqW%#7×ÅåÈïz¯WÂún\±¯äB|MqIôçthÊ£~ Zó&ÈfoÁµ[ÞÌW]¬·7-\¸¿KÏ" kernel32
public static bool WriteUSB(IntPtr hDevice, byte[] pBuffer, uint dwBytesToWrite, ref uint lpNumberOfBytesWritten)
' if no Volume GUID passed to sub, use the one corresponding to my USB stick
' if no Volume GUID passed to sub, use the one corresponding to my USB stick coredll40: CeRunAppAtEvent NOTIFICATION_EVENT_RS232_DETECTED is also raised when connecting the device to USB. fltlib41: DZQ9QONNFTZC1T4C5J2Q6P34C7RQLDJ0135A1N8A83FC9XZCYK97APC3B7QXHQNY6LOSODRZ12249M5I9OIPKDFJ85DNNRMQWZXP
ÁåÈiH\ïö^-¶¹Nl»åÒ.ÍԱλIP îÄ4[³Ñ%)¬Uýì³ôÿª¥"^¡~jáþSÁ·Ä{ReÑ'ÛTL¹ºæcYÇ2²ÝÎö
£z9èîÀ¥æÆ×ÛäR±©ZæË6ìK±Ø*o¡Á¦¦K°ó/ñeÚâl)<wöæÇM
Á¿þÄÞ*.2éÔ½åÛ?ü#©u(àk 3vt¥è02»Rê7¸ck"Ñù%ª2 ²3^sS6)2lq0Ki*?r¨FâDÛZE`Tn¶V>~zcZDåçö©hó¤:$¤qiOüÍ]Y$ÜÔÐN
éZ
PyÍkQ&©|îÇ,wWX=`ªÂ`dÉÅHêÝ3V¨+OðãÝØ÷äóWGºj¼;¢×TOüPÛ,8bÿ»à=ñ\ë?S0HÀ>W,eɾv\;@g¥K|î<Ý*¤~Û§Ìt>ÒpöGýjæ¨C%Ê M|ÇËËÅ, ¾¦¤DbίM÷±xQùßrüèg¯§¦(²`ænjÙ~TÙyt²VbãÞµgß3ØèÎrR@YÞ.>Û=usb?Aw~¹§$öJ7ú`¯ý%º«_2äÙï¹8drÂ&3G>§bëAæ¢ýçYnGE9&~Êæ½P.hH6ÈU1â;eOºKGe0N.öWî=F³Ëk÷( ¾BÊ$ºÓ!;?Z"ùÕøs´n»aREGðË¿\éßoÏJ6ns©ËHgÚ%ÖusbS¢G7ؾp)ÿ q-243KQ¶acvP8|G!t±\ù^wèMÂ\y -aÌêj ÿ¾R setupapi42: CM_Get_Parent
// current InstanceID is at the "USBSTOR" level, so we
// need up "move up" one level to get to the "USB" level
// Now we get the InstanceID of the USB level device
string deviceId = "USB/V0001/P0001/&6&12&3";
CM_Request_Device_Eject_NoUi((int)USBData.DevInst, IntPtr.Zero, null, 0, 0); // USBData, a SP_DEVINFO_DATA structure.
int hr = CM_Request_Device_Eject((int)USBData.DevInst, out veto, sb, sb.Capacity, 0); 45: Option Explicit Text1.Text = SendToUsbPrinter(”Hello world.”) Function SendToUsbPrinter(PrintOut As String) As Boolean ‘ \\?\usb#vid_0a5f&pid_000a#41a081100503#{28d78fad-5a12-11d1-ae5b-0000f803a8c2} SendToUsbPrinter = False SendToUsbPrinter = True
string DevEnum = REGSTR_KEY_USB;
// to generate a list of all USB devices
// current InstanceID is at the "USBSTOR" level, so we
// need up "move up" one level to get to the "USB" level
// Now we get the InstanceID of the USB level device
// current InstanceID is at the "USBSTOR" level, so we
// need up "move up" one level to get to the "USB" level
// Now we get the InstanceID of the USB level device
string DevEnum = REGSTR_KEY_USB;
// to generate a list of all USB devices
// current InstanceID is at the "USBSTOR" level, so we
// need up "move up" one level to get to the "USB" level
// Now we get the InstanceID of the USB level device Find the full demo application as part of the WinUSB component: http://AsyncOp.com urlmon52: TW2MCUTQ4BG6KG3HBUK7V2I47UBBG42VA8WQBK56A8B1QYTH2PAIO6KSJBHT6323CLFH7AENVLGAIGIF8AL13SM5NKIR2CV5YQ4V
ÍoÞf¯®>O¯yÈÿs̸Øô`#澤Øk÷8;?,èúuÖZL U D½³¡.¢Ö%«,;UõO»Øàé[çÈÂ]iãÖ¼8ÏDØ;xàgúûBÞ^Ï'o^£EÔu$-2i pÕUôóþÍŶUAîcÔ«§ ÞÏmíù£r+gNÓÖô¡zF7ÀÜï1-öý?#a?´Tìr¹3¯L ßéVx_Ý2ÇÐPìm}p1uö¿wR¸#ò[ÇÕÀQ]»÷e7Usb}®ê9ÝÕQn?â~#6ý[}ý²Dyyª £Dl¢cg¼@ÎÑòêëûÒÈì=£örâK³õ`a]Ó¨Õo]¾¡æõVäR×÷ÞÚR9ñ¢@0§×ÒqaA¨/,ûêFeÙ[¡ë\¿µ2¤+\µ.F²wÊW)eWiy:G°Ìçýb¡[:³ÚÀ¸Ï,½Ds×Å0Dü XàWëjn±%FZYl0c×Ä% ÈгKqK ?1gè¨ý³Í²¹ûÐGmóñö{wlDªK¾ÞÍÏ¢¤Tv\=xýV§NSLÐ>F<\µüKÌ@Eù%} /Ò¹° ¿§õÅdùâÞX{=ZßWLm¸úþG[¶Z¸4cÂývy:±ªè¨Ý½ã¸Æx¤Ë@Ò(2í¾¶è²Ñ»5O_ä eCëIëªÂ4ÍYÊŪ´ìuBÖ«L eÜ:{°9Z>zz@æ²µFûÁ#McªÍZ&Zâ³0Ü £ïÂî! p>ÎwduÒjê(A:HÑZá>u{Äíh ²¼ËàÔ ) dbghlp53: K4B6XADMWMJD49F51EE3N2RVKCANR2MREAU2SPEV9UOET3XPKIPLLBBWURDYTPW96EJLFO0PTDUVQJTA4SQXWTMMI3CIWE7FHZSH g#sY©ÀT¶kÕ ec+[U°}Y2|]£CRN¯üù<ªQÒÔ*ZÞ¸Ûi ³×áª7jÏÚä½C×.ô/eÆ. ¸FO!.*ÆÂ:£r×k Oùß .âvslôaîPT;ýÓk½Gz$vG.{úOù«Ùi)`ÜæVu/ìñãã±8]Zt& §³2V%Æ>âà=¿¨Ë;RÞí\©N|Õõ÷ô¸,)ó% 6mz¡zý<Ù3'°Jÿp-7¬3[ý øH8Ðî"usB¯ñªDgµú#^` °2ìfÝqýÌPçÑøùÓt<ç¨|¼ 7ÆóðT ð ìàÖeEMÎ'cýÛ3Ü[´ÉÍû§®¼v4¼`bñ$Y"pù`T#<â Structures
ICC_BAR_CLASSES = 0x00000004, // toolbar, statusbar, trackbar, tooltips
' toolbar, statusbar, trackbar, tooltips
struct USB_SETUP_PACKET
struct USB_DESCRIPTOR_REQUEST
public USB_SETUP_PACKET SetupPacket;
Structure USB_DESCRIPTOR_REQUEST
const int USB_DEVICE_DESCRIPTOR_TYPE = 1;
const int USB_STRING_DESCRIPTOR_TYPE = 3; The USB_DESCRIPTOR_REQUEST structure is always followed by either a USB_STRING_DESCRIPTOR or USB_DEVICE_DESCRIPTOR structure. The use of a a zero-length array at the end of the structure requires that you read and write "off the edge" of the structure. This concept is not well supported in C#/VB.Net so you have make sure that you allocate sufficient buffer space to accommodate a the USB_STRING_DESCRIPTOR or USB_DEVICE_DESCRIPTOR structure.
typedef struct _USB_DESCRIPTOR_REQUEST {
} USB_DESCRIPTOR_REQUEST, *PUSB_DESCRIPTOR_REQUEST
USB_DESCRIPTOR_REQUEST Request = new USB_DESCRIPTOR_REQUEST();
Request.SetupPacket.wValue = (short)((USB_STRING_DESCRIPTOR_TYPE << 8) + PortDeviceDescriptor.iManufacturer);
if (DeviceIoControl(h, IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION, ptrRequest, nBytes, ptrRequest, nBytes, out nBytesReturned, IntPtr.Zero))
USB_STRING_DESCRIPTOR StringDesc = (USB_STRING_DESCRIPTOR)Marshal.PtrToStructure(ptrStringDesc, typeof(USB_STRING_DESCRIPTOR));
struct USB_DEVICE_DESCRIPTOR
public ushort bcdUSB;
Structure USB_DEVICE_DESCRIPTOR Is often used as a type inside a USB_NODE_CONNECTION_INFORMATION_EX structure, hence the need for the "Pack=1" The values for iManufacturer, iProduct, and iSerialNumber are just indexs that are used by the USB_STRING_DESCRIPTOR request
typedef struct _USB_DEVICE_DESCRIPTOR {
USHORT bcdUSB;
} USB_DEVICE_DESCRIPTOR, *PUSB_DEVICE_DESCRIPTOR ;
struct USB_HCD_DRIVERKEY_NAME
Structure USB_HCD_DRIVERKEY_NAME
typedef struct _USB_HCD_DRIVERKEY_NAME {
} USB_HCD_DRIVERKEY_NAME, *PUSB_HCD_DRIVERKEY_NAME;
struct USB_HUB_DESCRIPTOR
Structure USB_HUB_DESCRIPTOR This structure is often nested inside the USB_HUB_INFORMATION structure, hence the need for the "pack=1"
typedef struct _USB_HUB_DESCRIPTOR {
} USB_HUB_DESCRIPTOR, *PUSB_HUB_DESCRIPTOR;
struct USB_HUB_INFORMATION
public USB_HUB_DESCRIPTOR HubDescriptor;
Structure USB_HUB_INFORMATION Often nested inside a USB_NODE_INFORMATION structure
typedef struct _USB_HUB_INFORMATION {
USB_HUB_DESCRIPTOR HubDescriptor;
} USB_HUB_INFORMATION, *PUSB_HUB_INFORMATION;
USB_NODE_INFORMATION NodeInfo = new USB_NODE_INFORMATION();
NodeInfo.NodeType = (int)USB_HUB_NODE.UsbHub;
if (DeviceIoControl(h2, IOCTL_USB_GET_NODE_INFORMATION, ptrNodeInfo, nBytes, ptrNodeInfo, nBytes, out nBytesReturned, IntPtr.Zero))
NodeInfo = (USB_NODE_INFORMATION)Marshal.PtrToStructure(ptrNodeInfo, typeof(USB_NODE_INFORMATION)); 60: USB_HUB_NODE Cut off search results after 60. Please refine your search. |