Implementación de FormatProperties
Network Monitor llama a la función FormatProperties para dar formato a los datos que se muestran en el panel de detalles de la interfaz de usuario de Network Monitor. Normalmente, se llama a FormatProperties para dar formato a la línea de resumen de un protocolo y, a continuación, para dar formato a todas las instancias de propiedad del protocolo dentro de un marco. Sin embargo, Network Monitor no identifica el número de veces que se llama a FormatProperties para un analizador específico.
Al llamar a FormatProperties, Network Monitor proporciona una estructura PROPERTYINST para cada propiedad que muestra. La estructura PROPERTYINST proporciona información sobre los datos que se van a mostrar, incluido un puntero a la estructura PROPERTYINFO que especifica la función que se va a usar para dar formato a la propiedad de datos mostrada.
Nota
Se especifica una estructura PROPERTYINFO al agregar una propiedad a la base de datos de propiedades del analizador.
Network Monitor identifica la función de formato que se va a llamar a para cada instancia de propiedad. El miembro InstanceData de la estructura PROPERTYINFO puede especificar lo siguiente:
La función FormatPropertyInstance para usar el formateador genérico que proporciona Network Monitor.
-O bien-
Nombre de una función de formato personalizado que proporciona el analizador.
FormatPropertyInstance y las funciones de formato personalizado devuelven los datos con formato que se muestran en el panel de detalles de la interfaz de usuario de Network Monitor.
En la ilustración siguiente se muestra cómo network Monitor identifica la función que se va a llamar a para cada instancia de propiedad.
El siguiente procedimiento identifica los pasos necesarios para implementar FormatProperties.
Para implementar FormatProperties
- Mediante una estructura de bucle, llame a la función de formato para cada estructura PROPERTYINST que se pasa al analizador en el parámetro lpPropInst de la función FormatProperties .
A continuación se muestra una implementación básica de FormatProperties.
#include <windows.h>
DWORD BHAPI MyProtocolFormatProperties( HFRAME hFrame,
LPBYTE pMacFrame,
LPBYTE pBLRPLATEFrame,
DWORD nPropertyInsts
LPPROPERTYINST p)
{
while( nPropertyInsts-- > 0)
{
( (FORMAT) p->lpPropertyInfo->InstanceData) ) (p);
p++;
}
return BHERR_SUCCESS;
}