Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En el código de ejemplo siguiente, el monitor establece un filtro de captura que especifica solo ip y datos de protocolo solicitados.
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;
}