TdiRcvDatagramHandler(
  IN  PVOID                pDgramEventContext,
  IN  int                  SourceAddressLength,
  IN  PVOID                pSourceAddress,
  IN  int                  OptionsLength,
  IN  PVOID                pOptions,
  IN  ULONG                ReceiveDatagramFlags,
  IN  ULONG                BytesIndicated,
  IN  ULONG                BytesAvailable,
  OUT ULONG               *pBytesTaken,
  IN  PVOID                pTsdu,
  OUT PIRP                *pIoRequestPacket
  );

Routine Description:

    This routine is the receive datagram event indication handler.

    It is called when an Datagram arrives from the network, it will look for a
    the address with an appropriate read datagram outstanding or a Datagrm
    Event handler setup.

Arguments:

    pDgramEventContext      - Context provided for this event - pab
    SourceAddressLength,    - length of the src address
    pSourceAddress,         - src address
    OptionsLength,          - options length for the receive
    pOptions,               - options
    BytesIndicated,         - number of bytes this indication
    BytesAvailable,         - number of bytes in complete Tsdu
    pTsdu                   - pointer to the datagram


Return Value:

    *pBytesTaken            - number of bytes used
    *IoRequestPacket        - Receive IRP if MORE_PROCESSING_REQUIRED.
    NTSTATUS - Status of receive operation