Цитата(KostyanPro @ Jul 12 2007, 17:04)

Как правильние и почему ?? (у себя использовал с byte*)
Как вы заметили, работает и так и так.
AlexBoy объяснил почему. Оба варианта правильны, но: параметр функции byte* неявно намекает программисту, что функция ожидает от него массива(строки) байтов. Параметр же void* как бы подсказывает "да суй все что угодно, скушаю, специально так реализована". Я не считаю, что в данном случае использование параметра типа byte* и загромождение исходника явными приведениями аргумента в местах вызова к byte* способствует повышению читаемости исходника, скорее наоборот, загромождает его.
Естественно, внутри функции существет указатель типа byte* к которому и приводится параметр типа void*, но это уже скрыто в реализации.