Win32: невозможно использовать iocp с дескриптором стандартного ввода - PullRequest
1 голос
/ 10 апреля 2019

Я хочу выполнить асинхронное чтение на stdin в Windows с портами завершения ввода / вывода, но этот код не работает:

#include <windows.h>
#include <stdio.h>

#pragma comment(lib, "Kernel32.lib")

int main() {
    HANDLE handle = GetStdHandle(STD_INPUT_HANDLE);
    DWORD number;

    HANDLE iocp = CreateIoCompletionPort(handle, NULL, 0, 0);

    if(iocp == NULL) {
        printf("error : %d\n", GetLastError());
    }
}

Я получаю ошибку 87: ERROR_INVALID_PARAMETER

1 Ответ

1 голос
/ 10 апреля 2019

CreateIOCompletionPort нельзя использовать напрямую с stdin / stdout. Проверьте это . Либо используйте поток, либо перенаправьте stdin / stdout на именованные каналы.

...