Цитата(Метценгерштейн @ May 11 2010, 18:32)

char *initResult = InitDevice();
.....
здесь что происходит? адрес значения ф-ии присваиваю указателю *initResult ?
Вызывается функция без параметровInitDevice(), которая возвращает указатель на char. Возвращаемое значение (адрес char) присваивается initResult для последующего анализа. Если возвращенный адрес не совпадает с неким адресом, то этот адрес и возвращается приведенным фрагментом функции... Зачем это таким образом сделано - очень большой вопрос!