Partilhar via


Implementando Propriedades de Formato

O Monitor de Rede chama a função FormatProperties para formatar os dados exibidos no painel de detalhes da interface de utilizador do Monitor de Rede. Normalmente, chama-se FormatProperties para formatar a linha de resumo de um protocolo, e, em seguida, para formatar as instâncias de propriedade do protocolo dentro de um frame. No entanto, o Monitor de Rede não identifica o número de vezes que FormatProperties é chamado para um analisador específico.

Ao chamar FormatProperties, o Monitor de Rede fornece uma estrutura de PROPERTYINST para cada propriedade que exibe. A estrutura PROPERTYINST fornece informações sobre os dados a serem exibidos, incluindo um ponteiro para a estruturaPROPERTYINFO que especifica a função a ser usada para formatar a propriedade de dados exibida.

Observação

Uma estrutura de PROPERTYINFO é especificada ao adicionar uma propriedade ao banco de dados de propriedades do analisador.

 

O Monitor de Rede identifica a função de formato a ser chamada para cada instância de propriedade. O membro InstanceData da estrutura PROPERTYINFO pode especificar o seguinte:

  • A função FormatPropertyInstance para utilizar o formatador genérico que o Monitor de Rede fornece.

    – ou –

  • O nome de uma função de formato personalizado que o analisador fornece.

O FormatPropertyInstance e as funções de formato personalizado retornam os dados formatados exibidos no painel de detalhes da interface do usuário do Monitor de Rede.

A ilustração a seguir mostra como o Monitor de Rede identifica a função a ser chamada para cada instância de propriedade.

como o Monitor de Rede identifica a função a ser chamada

O procedimento a seguir identifica as etapas necessárias para implementar FormatProperties.

Para implementar FormatProperties

  • Usando uma estrutura de loop, chame a função formatar para cada estrutura PROPERTYINST que é passada para o analisador no parâmetro lpPropInst da função FormatProperties.

A seguir está uma implementação básica do 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;
  }