CopyDataandIndicate(
  IN  PVOID                ReceiveEventContext,
  IN  PVOID                ConnectionContext,
  IN  USHORT               ReceiveFlags,
  IN  ULONG                BytesIndicated,
  IN  ULONG                BytesAvailable,
  OUT PULONG              BytesTaken,
  IN  PVOID                pTsdu,
  OUT PIRP                *ppIrp
  );

Routine Description:


    This routine combines data indicated with the indicate buffer to
    indicate the total to the client. Any bytes Indicated are those bytes
    in the indicate buffer. Bytes available adds in any bytes in the transport.

    The idea here is to copy as much as possible from the indicate buffer and
    then pass back an irp if there is still more data in the transport.  If
    no data left in the transport, this routine completes the client irp and
    returns STATUS_SUCCESS.

Arguments:


Return Value:


    NTSTATUS - Status of receive operation