если не ошибаюсь то &IO_Buffer никогда не приведется к (unsigned char*) потому как IO_Buffer это не массив char-ов, а во вторых - зачем передавать в функицю и указатель на структуру и значение одного из ее полей? разве нельзя это значение извлечь в самой функции по указателю на структуру?