Aracılığıyla paylaş


FormatProperties'i Uygulama

Ağ İzleyicisi, Ağ İzleyicisi kullanıcı arabiriminin ayrıntılar bölmesinde görüntülenen verileri biçimlendirmek için FormatProperties işlevini çağırır. Genellikle, FormatProperties bir protokolün özet satırını biçimlendirmek ve ardından bir çerçeve içindeki protokolün tüm özellik örneklerini biçimlendirmek için çağrılır. Ancak Ağ İzleyicisi, belirli bir ayrıştırıcı için FormatProperties çağrılma sayısını belirlemez.

FormatPropertiesçağrılırken Ağ İzleyicisi, görüntülediği her özellik için bir PROPERTYINST yapısı sağlar. PROPERTYINST yapısı, görüntülenen veri özelliğini biçimlendirmek için kullanılacak işlevi belirten PROPERTYINFO yapısına yönelik bir işaretçi de dahil olmak üzere görüntülenecek veriler hakkında bilgi sağlar.

Not

Ayrıştırıcının özellik veritabanı'ye bir özellik eklerken bir PROPERTYINFO yapısı belirtilir.

 

Ağ İzleyicisi, her özellik örneği için çağrılacak biçim işlevini tanımlar. PROPERTYINFO yapısının InstanceData üyesi aşağıdakileri belirtebilir:

FormatPropertyInstance ve özel biçim işlevleri, Ağ İzleyicisi kullanıcı arabiriminin ayrıntılar bölmesinde görüntülenen biçimlendirilmiş verileri döndürür.

Aşağıdaki çizimde, Ağ İzleyicisi'nin her bir özellik örneği için çağrılacak işlevi nasıl tanımlediği gösterilmektedir.

Ağ izleyicisinin çağrılacak işlevi nasıl tanımladığını

Aşağıdaki yordam, FormatPropertiesuygulamak için gereken adımları tanımlar.

FormatProperties'i uygulamak için

  • Döngü yapısı kullanarak, FormatProperties işlevinin lpPropInst parametresinde ayrıştırıcıya geçirilen her PROPERTYINST yapısı için format işlevini çağırın.

Aşağıda, FormatPropertiestemel bir uygulaması yer alır.

#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;
  }