Compartir a través de


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:

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.

cómo identifica el monitor de red la función a la que se va a llamar

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;
  }