Decodificacion Personalizada
CommView le permite dos tipos de sus decodificadores personalizados.
Decodificador Simple
Si implementa este tipo de decodificador, la salida de su decodificador sera mostrada en una columna adicional en la pestana
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 aplicacion CommView. Cuando se inicia CommView, este busca por "Custom.dll" en
la carpeta de la aplicacion 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 decodificacion deben ser copiados, y el cuarto argumento es el tamano 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 copio al buffer es mostrado como una cadena de caracteres en la columna "Custom".
Su procedimiento debe ser lo suficientemente rapido para manejar cientos de paquetes por Segundo.; de otra manera este podria
demorar la aplicacion. No olvide utilizar la convencion de llamadas STDCALL.
Dos DLLs de muestra se encuentran disponibles. Ellas muestran una muy simple operacion: la salida de la funcion de "Decode" es
el codigo hex del ltimo byte del paquete. Su decodificador puede ser tan complejo como desee.
http://www.tamos.com/products/commview/cust_decoder_c.zip
. Este es un proyecto de Visual Studio con codigo fuente
de C++.
http://www.tamos.com/products/commview/cust_decoder_d.zip
. Este es un proyecto Delphi con codigo fuente Pascal.
Decodificador Complejo
Si implementa este tipo de decodificador, la salida de su decodificador sera mostrada como items adicionales en el arbol de
decodificador de paquetes. Para mas informacion sobre este decodificador, por favor descargue el siguiente archivo:
http://www.tamos.com/products/commview/complex_decoder_c5.zip
Este tipo de decodificador puede ser escrito en Microsoft Visual C++ solamente, dado que este esta construido usando C++
classes.
Soporte Tecnico
El soporte tecnico para decodificadores personalizados se provee en la base del mejor esfuerzo . Puede ser que no podamos
responder sus preguntas relacionadas a programacion.
footer
Our web partners:
Inexpensive
Web Hosting
Jsp Web Hosting
Jsp Web Hosting
Cheapest Web Hosting
Java Web Hosting
Quality Web Templates
Dreamweaver Web Templates
Frontpage Web Templates
Jsp Web Hosting
Cheapest Hosting
Cheapest Web Hosting
Java Web Hosting
Tomcat Web Hosting
Quality Web Hosting
Best Web Hosting
Java Web Hosting
Visionwebhosting.net Business web hosting division of Vision Web Hosting Inc.. All rights reserved