Condividi tramite


Implementazione di FormatProperties

Monitoraggio di rete chiama la funzioneFormatPropertiesper 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. Monitoraggio di rete, tuttavia, non identifica il numero di volte in cui viene chiamato FormatProperties per un parser specifico.

Chiamando FormatProperties, "Network Monitor" 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à dei dati visualizzata.

Nota

Una struttura PROPERTYINFO viene specificata quando si aggiunge una proprietà al database delle proprietà del parser.

 

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

  • La funzione FormatPropertyInstance per usare il formattatore generico fornito da Network Monitor.

    – o –

  • Nome di una funzione di formato personalizzata fornita dal parser.

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

La figura seguente mostra come Network Monitor identifica la funzione che deve essere chiamata per ogni istanza di proprietà.

come il monitor di rete identifica la funzione da chiamare

La procedura seguente identifica i passaggi necessari per implementare FormatProperties.

Implementare FormatProperties

  • Usando una struttura di ciclo, chiamare la funzione di formattazione per ciascuna struttura PROPERTYINST che viene 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;
  }