overlapped-io

    1

    1답변

    최근에는 직렬 통신을 수행하여 읽기, 쓰기 등을 담당하는 모든 Windows API 함수에 대한 간단한 인터페이스 인 클래스를 준비했습니다. 모든 I/O 작업 이 클래스 내부는 비동기 적으로 처리됩니다. 필자가 질문하기 전에 직렬 포트에서 데이터를 쓰고 읽는 방법을 보여 주겠다. (필기체의 구조가 정확히 동일하므로 프리젠 테이션에 아무런 요점도 없습니다.

    1

    2답변

    Windows 게임을하고 있고 렌더링하는 동안 일부 컴퓨터에서 간헐적 인 일시 중지가 발생합니다 (더 나은 용어가 부족하여 "걸림"). 프로파일을 작성하면 코드의 임의의 위치에 나타납니다. 결국 나는 영향을받은 프로세스뿐 아니라 시스템의 모든 프로세스 (외관상으로는)에 주목했습니다. 내 응용 프로그램의 모든 스레드가 즉시 장애물이됩니다. CPU 사용률은 이

    2

    3답변

    C#에서 호출 할 수 있도록 래핑하는 C DLL이 있습니다. 한 가지 기능은 상태가 바뀌었을 때 사용자에게 알리기 위해 이벤트를 사용하고이를 처리하기 위해 알아내는 것이 어느 정도 파고 들었습니다. 그것은 잘 작동하는 것 같지만, 누군가가 내가하는 것보다 더 많은 경험이 있고 어떤 조언을 해줄 수 있는지 궁금합니다. 기능은 다음과 같이 DLL의 .H 파일에

    2

    2답변

    최근에 네트워크 드라이브에서 큰 파일을 읽는 데 문제가 있었으며 잘못하고있을 수 있습니다. 나는 C++ (Unmanaged)와 C# 둘 다 시도해 보았고 둘 다 똑같은 공연을했다. 다소 심했다. 가끔 네트워크에서 파일을 4KB/s로 읽지 만,이 파일이 로컬 HD에 있으면 HD가 출력 할 수있는 최대 데이터 속도를 쉽게 얻을 수 있습니다. 그것은 한 번에 6

    0

    1답변

    을 반환합니다. 내가 중첩 된 I과 ReadFile을 사용하고/O 같은 : while (continueReading) { BOOL bSuccess = ReadFile(deviceHandle, pReadBuf, length, &bytesRead, readOverlappedPtr); waitVal = WaitForMult

    1

    1답변

    중복 된 I/O와 함께 Winsock2를 사용하고 있습니다. 이것은 WSAOecl 구조체와 함께 WSARecv를 호출하고 나중에 데이터에 대해 WSAWaitForMultipleEvents를 기다리는 것을 의미합니다. 나는 이상한 관찰을 내 응용 프로그램에 보내는 모든 데이터를 느슨하게하는 동안 디버거를 사용하여 중지합니다. 이 데이터가 OS의 어딘가에 쌓여

    3

    3답변

    우리는 기존 Windows 코드를 Linux로 이식하고 있습니다. 우리는 ACE를 추상 레이어로 사용하고 있습니다. 우리는 여러 클라이언트와 통신하고 중복 된 작업을 수행하기 위해 파이프라는 창을 사용하고 있습니다. linux에서 이와 동일한 기능은 무엇입니까? 나는 리눅스라는 이름의 파이프 (FIFO)를 검사했지만, 그들은 오직 하나의 클라이언트와 서버만

    3

    1답변

    비동기 I/O (Win32 전문 용어의 "overlapped"I/O)를 사용하는 경우 OVERLAPPED 구조체와 그의 hEvent 멤버를 처리해야합니다. I/O 함수가 읽기 또는 쓰기 작업을 지연시키는 경우 ERROR_IO_PENDING 오류 코드가 표시되면 WaitForXxxEvent 함수로 완료하기 위해 비동기 작업을 기다린 다음 GetOverlapp

    9

    2답변

    비동기 모드로 열린 System.IO.Pipe.NamedPipeServerStream에서 읽을 수있는 데이터가 많을 때 알림 방법을 찾아야합니다. WaitHandle이 이상적입니다. 나는 파이프에 쓰기를 원하는 다른 스레드에 의해 신호가 될 가능성이 있기 때문에 BeginRead()를 사용하여 이러한 핸들을 얻을 수 없다. 그래서 파이프의 잠금을 해제하고

    0

    1답변

    NtQueryDirectoryFile에 대한 비동기 호출이 작동하는 방식을 알아 낸 사람이 있습니까? 비동기 호출하여 , 나는 이이 FILE_SYNCHRONOUS_IO_ALERT 또는 FILE_SYNCHRONOUS_IO_NONALERT을 열 수 없습니다 디렉토리에 NtQueryDirectoryFile를 호출하는 의미. 나를 위해 , 그냥 내가 디렉토리에 N