|
|||||||||||
|
|
![]() |
CommView for WiFi le permite dos tipos de sus decodificadores personalizados. Decodificador Simple Si implementa este tipo de decodificador, la salida de su decodificador será mostrada en una columna adicional en la pestaña Paquetes. Su decodificador debe ser un archivo DLL de 32-bit llamado "Custom.dll" que exporta solamente el procedimiento llamado "Decode". El prototipo de este procedimiento es mostrado abajo en C y Pascal: extern "C" { void __stdcall Decode(unsigned char *PacketData, int PacketLen, char *Buffer, int BufferLen); } procedure Decode (PacketData: PChar; PacketLen: integer; Buffer: PChar; BufferLen: integer); stdcall; La DLL debe estar localizada en la carpeta de la aplicación CommView. Cuando se inicia CommView, este busca por "Custom.dll" en la carpeta de la aplicación y lo carga en la memoria. Si la entrada "Decode" se encuentra, CommView agrega una nueva columna llamada "Custom" a la lista de paquetes. Cuando un nuevo paquete es capturado y va a ser mostrado, CommView llama al procedimiento "Decode" y pasa el contenido del paquete a la DLL. El procedimiento "Decode" debe procesar los datos del paquete y copiar el resultado en el buffer suministrado. El primer argumento es el puntero a los datos del paquete, el segundo argumento es la longitud de los datos, el tercer argumento es el puntero al buffer donde los resultados de su decodificación deben ser copiados, y el cuarto argumento es el tamaño del buffer (actualmente siempre es de 1024 bytes). El buffer es fijado y liberado por CommView, por lo tanto no trate de reasignarlo o liberarlo. El resultado que copió al buffer es mostrado como una cadena de caracteres en la columna "Custom". Su procedimiento debe ser lo suficientemente rápido para manejar cientos de paquetes por Segundo.; de otra manera este podría demorar la aplicación. No olvide utilizar la convención de llamadas STDCALL. Dos DLLs de muestra se encuentran disponibles. Ellas muestran una muy simple operación: la salida de la función de "Decode" es el código hex del último byte del paquete. Su decodificador puede ser tan complejo como desee.
Decodificador Complejo Si implementa este tipo de decodificador, la salida de su decodificador será mostrada como ítems adicionales en el árbol de decodificador de paquetes. Para más información sobre este decodificador, por favor descargue el siguiente archivo: http://www.tamos.com/products/commview/complex_decoder_c6.zip Este tipo de decodificador puede ser escrito en Microsoft Visual C++ solamente, dado que este esta construido usando C++ classes. Soporte Técnico El soporte técnico para decodificadores personalizados se provee en la base "del mejor esfuerzo". Puede ser que no podamos responder sus preguntas relacionadas a programación.Decodificación Personalizada Decodificación Personalizada |