Вы находитесь на странице: 1из 3

USBView

RESUMEN
Usbview.exe es una aplicacin GUI de Windows que le permite navegar por todos los controladores de USB y dispositivos USB conectados en su sistema. El panel izquierdo de la ventana principal de la aplicacin muestra una vista de rbol orientado a la conexin, y el panel de la derecha muestra las estructuras de datos USB que pertenecen al dispositivo USB seleccionado como el dispositivo, configuracin de interfaz, y descriptores de punto final, as como los actuales configuracin del dispositivo. Este ejemplo de aplicacin funcional demuestra cmo una aplicacin en modo usuario puede enumerar los controladores de host USB, concentradores USB y dispositivos USB conectados, as como informacin de consulta acerca de los dispositivos de registro y mediante solicitudes a los dispositivos USB. Las llamadas ioctl (ver el sistema incluye USBIOCTL.H archivo) demostrada por esta muestra son: IOCTL_GET_HCD_DRIVERKEY_NAME IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION IOCTL_USB_GET_NODE_CONNECTION_DRIVERKEY_NAME IOCTL_USB_GET_NODE_CONNECTION_INFORMATION IOCTL_USB_GET_NODE_CONNECTION_NAME IOCTL_USB_GET_NODE_INFORMATION IOCTL_USB_GET_ROOT_HUB_NAME

Generar el ejemplo
El USBView muestra compila y vnculos en el entorno estndar DDK build con Microsoft Visual C 6.0 en ambos sistemas x86 y Alpha, produciendo un nico ejecutable Usbview.exe binario. Ambas versiones libres y controlados se pueden construir, con mensajes de error de asercin habilitadas en la compilacin comprobada para indicar condiciones de error inesperados.

CODIGO TOUR Manifiesto del archivo


Archivos Descripcin Usbview.htm documentacin para esta muestra (este archivo) Fuentes del archivo de fuentes compatibles acumulacin genrico para esta muestra Resource.h definiciones Identificacin de controles GUI Usbdesc.h USB definiciones de tipo descriptor Usbview.h archivo de encabezado principal de esta muestra Vndrlist.h Lista de Vendor ID USB y los nombres de los proveedores Debug.c rutinas asercin de la compilacin comprobada Devnode.c rutinas para acceder devnode informacin

Dispaud.c Rutinas para mostrar informacin de clase de dispositivo de audio USB Display.c rutinas para visualizar la informacin del dispositivo USB Enum.c rutinas para controladores enumeracin de acogida, los concentradores y los dispositivos Usbview.c punto de entrada y rutinas de manejo de interfaz grfica de usuario Usbview.rc Men y definiciones de dilogo Split.cur archivo Cursor Usb.ico Aplicacin file icon bang.ico Aplicacin file icon hub.ico Aplicacin file icon monitor.ico Aplicacin file icon port.ico Aplicacin file icon makefile build DDK entorno makefile

Programacin tour
Los principales temas tratados en esta gira son: Rutinas de manejo de interfaz grfica de usuario Rutinas de la numeracin de dispositivos Rutinas de visualizacin de la informacin del dispositivo

El archivo Usbview.c contiene el punto de entrada de la aplicacin de la muestra y las rutinas de manejo de GUI. A la entrada, se crea la ventana principal de la aplicacin, que es en realidad un cuadro de dilogo como se define en Usbview.rc . El cuadro de dilogo consta de una ventana dividida con un control de vista de rbol en el lado izquierdo y un control de edicin en el lado derecho. La rutina RefreshTree ( ) se llama para enumerar controlador de host USB, hubs y dispositivos conectados y para poblar el control de vista de rbol de dispositivos. RefreshTree ( ) llama a la rutinaEnumerateHostControllers () en Enum.c enumerar controlador de host USB, hubs, y unido dispositivos. Despus de que el control de vista de rbol de dispositivos se ha rellenado, USBView_ OnNotify () se llama cuando se selecciona un elemento en el control de vista de rbol de dispositivos. Esto llamadas UpdateEditControl ( ) en Display.c para mostrar informacin sobre el elemento seleccionado en el control de edicin. El archivo Enum.c contiene las rutinas que enumeran el bus USB y pueblan el control de vista de rbol. La enumeracin de dispositivos USB y el proceso de recogida de informacin es el punto principal de esta aplicacin de ejemplo. El proceso de enumeracin comienza a EnumerateHostControllers ( ) y es la siguiente: (1) Enumerar controladores host y concentradores de raz. Controlador Host tienen nombres de enlace simblico de la forma HCDX , donde x comienza en 0. Utilice CreateFile ( ) para abrir cada host controlador de enlace simblico. Crear un nodo en la vista de rbol para representar a cada controlador de host. Despus de un controlador de host se ha abierto, enve el controlador de host

IOCTL_USB_GET_ROOT_HUB_NAME una solicitud para obtener el nombre del enlace simblico del concentrador raz que forma parte de la controladora de host. (2) Enumerar Hubs (concentradores raz y concentradores externos). Dado el nombre de un hub, utilizar CreateFile ( ) para abrir el hub. Enviar el centro IOCTL_USB_GET_NODE_INFORMATION una solicitud para obtener informacin sobre el centro, tales como el nmero de puertos. Crear un nodo en la vista de rbol para representar cada cubo. (3) Enumerar los de recepcin. Dado un identificador de un cubo abierto y el nmero de puertos de aguas abajo en el cubo, el cubo de enviar una solicitud de IOCTL_USB_GET_NODE_CONNECTION_INFORMATION para cada puerto corriente abajo del concentrador para obtener informacin sobre el dispositivo (si los hay) unido a cada puerto. Si hay un dispositivo conectado a un puerto, el centro enviar una solicitud IOCTL_USB_GET_NODE_CONNECTION_NAME para obtener el nombre del enlace simblico del hub conectado al puerto corriente abajo. Si hay un concentrador conectado al puerto aguas abajo, recurse al paso (2). Crear un nodo en la vista de rbol para representar cada puerto hub y el aparato conectado. USB y configuracin descriptores de cadena se recuperan de los dispositivos conectados en GetConfigDescriptor ( ) y GetStringDescriptor () mediante el envo de un IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION () al cubo al que est conectado el dispositivo. El archivo Display.c contiene rutinas que muestran informacin acerca de los dispositivos seleccionados en el control de edicin de la aplicacin. Informacin sobre el dispositivo se recogi durante la enumeracin del rbol de dispositivos. Esta informacin incluye el dispositivo USB, la configuracin y descriptores de cadena y la conexin y la informacin de configuracin que se mantiene por la pila USB. Las rutinas en el archivo simplemente analizar y imprimir las estructuras de datos para el dispositivo que se recopila cuando se enumer. El archivo de Dispaud.c analiza e imprime las estructuras de datos que son especficas a los dispositivos de audio de clase USB.

Вам также может понравиться