共用方式為


實作 FormatProperties

網路監視器會呼叫 FormatProperties 函式來格式化網路監視器 UI 詳細數據窗格中顯示的數據。 通常會呼叫 FormatProperties 來格式化通訊協定的摘要行,然後格式化框架內通訊協定的所有屬性實例。 不過,網路監視器無法識別特定剖析器呼叫 FormatProperties 的次數。

當呼叫 FormatProperties時,網路監視器會為其顯示的每個屬性提供 PROPERTYINST 結構。 PROPERTYINST 結構提供了要顯示的數據的相關信息,包括指向 PROPERTYINFO 結構的指標,該結構指定用於格式化顯示數據屬性的函式。

注意

在將屬性新增至剖析器的 屬性資料庫 時,會指定 PROPERTYINFO 結構。

 

網路監視器會識別要針對每個屬性實例呼叫的格式函式。 PROPERTYINFO 結構體的 InstanceData 成員可以指定以下內容:

FormatPropertyInstance 和自定義格式函式會傳回網路監視器 UI 詳細資訊窗格中顯示的格式化資料。

下圖顯示網路監視器如何識別要針對每個屬性實例呼叫的函式。

網路監視器如何識別函式來呼叫

下列程序確定要實施 FormatProperties的必要步驟。

實作 FormatProperties

  • 使用迴圈結構,對於傳遞到 FormatProperties 函式的 lpPropInst 參數中的每個 PROPERTYINST 結構,呼叫 format 函式。

以下是 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;
  }