ReadFile API Windows C++ завис, не возвращаетсяC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 ReadFile API Windows C++ завис, не возвращается

Сообщение Anonymous »

Я пытаюсь скопировать файл с сервера Linux на локальный компьютер с Windows с помощью PSCP. Для этого добавлен код ниже.
Я столкнулся с проблемой, заключающейся в том, что ReadFile() блокируется в некоторых случаях использования. ReadFile() не возвращает результат, если размер файла /home/user/testzero.cmd равен 0 байт, но работает нормально, если в нем есть какие-либо данные. Есть идеи, почему это произойдет?
Если CloseHandle(hWritePipe); вызывается перед ReadFile()(я не хочу делать это так, как хотелось бы проверьте статус копирования/ошибку/запрашивает пароль, затем выполните WriteFile() и прочитайте еще раз), все работает нормально.
Я не смог заставить это работать в случае пустого файла .
#include
#include
#include
#include

#define BUFSIZE 4096

int main() {
// Command to execute (adjust paths and options as needed)

LPCTSTR commandLine = TEXT("D:\\tools\\pscp.exe -scp -2 user@linuxserver:'/home/user/testzero.cmd' D:\\Tools\\ProcessExplorer\\testzero.cmd");

// Initialize structures for CreateProcess parameters
STARTUPINFO si;
PROCESS_INFORMATION pi;
SECURITY_ATTRIBUTES sa;
HANDLE hReadPipe = NULL, hWritePipe = NULL;
char buffer[BUFSIZE];
DWORD bytesRead;
BOOL bSuccess;

ZeroMemory(&sa, sizeof(SECURITY_ATTRIBUTES));
sa.nLength = sizeof(SECURITY_ATTRIBUTES);
sa.bInheritHandle = TRUE;
sa.lpSecurityDescriptor = NULL;

// Create a pipe for the child process's stdout
if (!CreatePipe(&hReadPipe, &hWritePipe, &sa, 0)) {
std::cerr

Подробнее здесь: https://stackoverflow.com/questions/786 ... snt-return
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • ReadFile API Windows C++ завис, не возвращается
    Anonymous » » в форуме C++
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • ReadFile API Windows C++ завис, не возвращается
    Anonymous » » в форуме C++
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • ReadFile API Windows C++ завис, не возвращается
    Anonymous » » в форуме C++
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • Java – невозможно использовать функцию readFile()
    Anonymous » » в форуме JAVA
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Функциональные блоки Win32 ReadFile в несвязанных потоках
    Гость » » в форуме C++
    0 Ответы
    14 Просмотры
    Последнее сообщение Гость

Вернуться в «C++»