FormatProperties 구현
네트워크 모니터는 FormatProperties 함수를 호출하여 네트워크 모니터 UI의 세부 정보 창에 표시되는 데이터의 형식을 지정합니다. 일반적으로 FormatProperties 는 프로토콜에 대한 요약 줄의 서식을 지정한 다음 프레임 내에서 프로토콜의 모든 속성 인스턴스의 형식을 지정하기 위해 호출됩니다. 그러나 네트워크 모니터는 특정 파서에 대해 FormatProperties 가 호출되는 횟수를 식별하지 않습니다.
FormatProperties를 호출할 때 네트워크 모니터는 표시되는 각 속성에 대한 PROPERTYINST 구조를 제공합니다. PROPERTYINST 구조체는 표시된 데이터 속성의 서식을 지정하는 데 사용할 함수를 지정하는 PROPERTYINFO 구조체에 대한 포인터를 포함하여 표시할 데이터에 대한 정보를 제공합니다.
참고
PROPERTYINFO 구조는 파서의 속성 데이터베이스에 속성을 추가할 때 지정됩니다.
네트워크 모니터는 각 속성 instance 대해 호출할 형식 함수를 식별합니다. PROPERTYINFO 구조체의 InstanceData 멤버는 다음을 지정할 수 있습니다.
Network Monitor에서 제공하는 제네릭 포맷터를 사용하는 FormatPropertyInstance 함수입니다.
-또는-
파서가 제공하는 사용자 지정 형식 함수의 이름입니다.
FormatPropertyInstance 및 사용자 지정 형식 함수는 네트워크 모니터 UI의 세부 정보 창에 표시되는 서식이 지정된 데이터를 반환합니다.
다음 그림에서는 네트워크 모니터가 각 속성 instance 호출할 함수를 식별하는 방법을 보여 줍니다.
다음 절차에서는 FormatProperties를 구현하는 데 필요한 단계를 식별합니다.
FormatProperties를 구현하려면
- 루프 구조를 사용하여 FormatProperties 함수의 lpPropInst 매개 변수에서 파서에 전달되는 각 PROPERTYINST 구조체에 대한 형식 함수를 호출합니다.
다음은 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;
}