겹치는 작업을 사용하면 스레드가 백그라운드에서 시간이 많이 걸리는 I/O 작업을 수행할 수 있으므로 스레드가 다른 작업을 수행할 수 있습니다. 통신 리소스에서 겹치는 I/O 작업을 사용하도록 설정하려면 스레드가 핸들을 열 때 CreateFile 함수에서 FILE_FLAG_OVERLAPPED 플래그를 지정해야 합니다. ReadFile 또는 WriteFile 함수를 겹치는 작업으로 실행하려면 호출 스레드가 OVERLAPPED 구조체에 대한 포인터를 지정해야 합니다. OVERLAPPED 구조체에는 자동 재설정이 아닌 수동 재설정 이벤트 개체에 대한 핸들이 포함되어야 합니다. 시스템은 작업이 완료되기 전에 I/O 함수에 대한 호출이 반환될 때 이벤트 개체의 상태를 신호가 표시되지 않도록 설정합니다. 시스템은 작업이 완료될 때 이벤트 개체의 상태를 신호로 설정합니다. 스레드는 대기 함수를 사용하여 이벤트 개체의 현재 상태를 확인하거나 해당 상태가 신호를 받을 때까지 기다립니다.
ReadFileEx 및 WriteFileEx 함수는 겹치는 작업으로만 수행할 수 있습니다. 호출 스레드는 겹치는 작업이 완료될 때 수행되는 FileIOCompletionRoutine 함수에 대한 포인터를 지정합니다. 완료 루틴은 호출 스레드가 경고 가능한 작업을 수행하는 경우에만 실행됩니다.
이벤트 개체, 대기 함수, 경고 대기 및 완료 루틴에 대한 자세한 내용은 동기화 정보 참조하세요.