Предполагая, что вы не собираетесь использовать перекрывающиеся операции ввода-вывода (и из вашего вопроса у меня возникает сильное ощущение, что вы не используете), вам нужно передать указатель на переменную DWORD
, которая будет принимать значения :
DWORD NumberOfBytesWritten;
WriteFile((HANDLE)sock, "\x05\x01\x00", 3, &NumberOfBytesWritten, NULL);
Если функция вернется успешно (и вы должны проверить ее возвращаемое значение, чтобы определить это), NumberOfBytesWritten
будет установлено на количество байтов, которые были фактически записаны в файл.