04-17-2016, 12:08 AM
Доброго времени суток, форумчане.
После детура общеизвестных WSARecv\WSASend функций встал вопрос о корректном сборе секвенций в готовый пакет. В данный момент, само собой, в буфере перехватываемых функций есть несколько пакетов\куски предыдущих пакетов и т.п.
Как корректно их собрать в полноценные пакеты?
Для примера, текущая структура перехватываемой функции на C#:
После детура общеизвестных WSARecv\WSASend функций встал вопрос о корректном сборе секвенций в готовый пакет. В данный момент, само собой, в буфере перехватываемых функций есть несколько пакетов\куски предыдущих пакетов и т.п.
Как корректно их собрать в полноценные пакеты?
Для примера, текущая структура перехватываемой функции на C#:
Код:
[DllImport("ws2_32.dll", SetLastError = true)]
public static extern SocketError WSASend(
IntPtr socketHandle,
WSABuffer[] buffer, // Тут всегда количество равно 1, даже если заюзать * и unsafe
uint bufferCount,
uint bytesTransferred,
SocketFlags socketFlags,
IntPtr overlapped,
IntPtr completionRoutine);