Sdílet prostřednictvím


Implementace FormatProperties

Network Monitor volá funkci FormatProperties k formátování dat zobrazených v podokně podrobností uživatelského rozhraní služby Network Monitor. Obvykle FormatProperties je volána k formátování souhrnného řádku protokolu a následné formátování všech instancí vlastností protokolu v rámci rámce. Network Monitor však neidentifikuje počet volání FormatProperties pro konkrétní analyzátor.

Při volání FormatProperties, Network Monitor poskytuje PROPERTYINST strukturu pro každou zobrazenou vlastnost. Struktura PROPERTYINST poskytuje informace o zobrazených datech, včetně ukazatele na strukturu PROPERTYINFO, která určuje funkci, která se má použít k formátování zobrazené datové vlastnosti.

Poznámka

Při přidávání vlastnosti do databáze vlastností analyzátoru je zadána struktura PROPERTYINFO.

 

Monitor sítě identifikuje funkci formátování, která se má volat pro každou instanci vlastnosti. Člen InstanceData v rámci struktury PROPERTYINFO může určit následující:

Funkce FormatPropertyInstance a funkce vlastního formátu vrátí formátovaná data zobrazená v podokně podrobností uživatelského rozhraní služby Network Monitor.

Následující obrázek ukazuje, jak Network Monitor identifikuje, jakou funkci zavolat pro každou jednotlivou instanci vlastnosti.

, jak monitorování sítě identifikuje funkci pro volání

Následující postup identifikuje kroky potřebné k implementaci FormatProperties.

k implementaci FormatProperties

  • Pomocí smyčkové struktury volejte funkci formatování pro každou strukturu PROPERTYINST, která je předána do analyzátoru v parametru lpPropInst funkce FormatProperties.

Následuje základní implementace 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;
  }