Condividi tramite


Implementazione di FormatProperties

Monitoraggio di rete chiama la funzione FormatProperties per formattare i dati visualizzati nel riquadro dei dettagli dell'interfaccia utente di Monitoraggio di rete. In genere, FormatProperties viene chiamato per formattare la riga di riepilogo per un protocollo e quindi formattare tutte le istanze di proprietà del protocollo all'interno di un frame. Tuttavia, Monitoraggio di rete non identifica il numero di volte in cui FormatProperties viene chiamato per un parser specifico.

Quando si chiama FormatProperties, Monitoraggio di rete fornisce una struttura PROPERTYINST per ogni proprietà visualizzata. La struttura PROPERTYINST fornisce informazioni sui dati da visualizzare, incluso un puntatore alla struttura PROPERTYINFO che specifica la funzione da utilizzare per formattare la proprietà di dati visualizzata.

Nota

Quando si aggiunge una proprietà al database delle proprietà del parser, viene specificata una struttura PROPERTYINFO.

 

Monitoraggio di rete identifica la funzione di formato da chiamare per ogni istanza di proprietà. Il membro InstanceData della struttura PROPERTYINFO può specificare quanto segue:

FormatPropertyInstance e le funzioni di formato personalizzato restituiscono i dati formattati visualizzati nel riquadro dei dettagli dell'interfaccia utente di Monitoraggio di rete.

La figura seguente illustra come Monitoraggio di rete identifica la funzione da chiamare per ogni istanza di proprietà.

come monitoraggio di rete identifica la funzione da chiamare

La procedura seguente identifica i passaggi necessari per implementare FormatProperties.

Per implementare FormatProperties

  • Usando una struttura del ciclo, chiamare la funzione di formato per ogni struttura PROPERTYINST passata al parser nel parametro lpPropInst della funzione FormatProperties .

Di seguito è riportata un'implementazione di base di 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;
  }