다음 예제 코드에서 모니터는 요청된 프로토콜 데이터만 IP를 지정하는 캡처 필터를 설정합니다.
STDMETHODIMP CTestMon::OnFrames(UPDATE_EVENT Event)
{
DWORD i;
LPFRAMETABLE lpFrameTable = Event.lpFrameTable;
// The frame table can wrap the indexes.
for (
i = lpFrameTable->StartIndex;
i != lpFrameTable->EndIndex;
(i == lpFrameTable->FrameTableLength ) ? i=0: i ++ )
{
LPFRAME_DESCRIPTOR lpFrameDesc = &lpFrameTable->Frames[i];
// Cast the frame data to an unaligned pointer to an IP
// structure. A try/catch block could be a workaround, but
// if the capture filter is set correctly, this is the
// verifiable IP.
ULPIP ulpIP = (ULPIP)(&lpFrameDesc->FramePointer[lpFrameDesc->LowProtocolOffset]);
// Now examine the IP frame.
}
return NOERROR;
}