Menerapkan FormatProperties

Monitor Jaringan memanggil fungsiFormatProperties untuk memformat data yang ditampilkan di panel detail UI Monitor Jaringan. Biasanya, FormatProperties dipanggil untuk memformat baris ringkasan untuk protokol, lalu untuk memformat semua instans properti protokol dalam bingkai. Namun, Monitor Jaringan tidak mengidentifikasi berapa kali FormatProperties dipanggil untuk pengurai tertentu.

Saat memanggil FormatProperties, Monitor Jaringan menyediakan strukturPROPERTYINSTuntuk setiap properti yang ditampilkannya. Struktur PROPERTYINST menyediakan informasi tentang data yang akan ditampilkan, termasuk penunjuk ke strukturPROPERTYINFO yang menentukan fungsi yang akan digunakan untuk memformat properti data yang ditampilkan.

Nota

StrukturPROPERTYINFO ditentukan saat menambahkan properti ke database properti pengurai.

 

Monitor Jaringan mengidentifikasi fungsi format yang akan dipanggil untuk setiap instans properti. Anggota InstanceData dari struktur PROPERTYINFO dapat menentukan hal berikut:

  • Fungsi FormatPropertyInstance untuk menggunakan formatter generik yang disediakan oleh Pemantau Jaringan.

    –atau–

  • Nama fungsi format kustom yang disediakan pengurai.

FormatPropertyInstance dan fungsi format kustom mengembalikan data berformat yang ditampilkan di panel detail UI Monitor Jaringan.

Ilustrasi berikut menunjukkan bagaimana Monitor Jaringan mengidentifikasi fungsi yang akan dipanggil untuk setiap instans properti.

bagaimana monitor jaringan mengidentifikasi fungsi untuk memanggil

Prosedur berikut mengidentifikasi langkah-langkah yang diperlukan untuk menerapkan FormatProperties.

Untuk menerapkan FormatProperties

  • Dengan menggunakan struktur perulangan, panggil fungsi format untuk setiap strukturPROPERTYINST yang diteruskan ke pengurai dalam parameter lpPropInst dari fungsi FormatProperties.

Berikut ini adalah implementasi dasar 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;
  }