2009-11-25 3 views
0

UI 스레드를 만들었습니다. 파일에 데이터를 쓰는 UI 스레드에 메시지를 게시하고 있습니다.PostThreadMessage 실패

PostThreadMessage API를 사용하여 메시지를 사용자 스레드에 게시하고 있습니다. 내 문제는 내가 게시 한 모든 데이터를 쓰는 것이 아닙니다. 인스턴스의 경우, 내가 100 데이터를 게시하면 3 또는 98 무작위로 씁니다 모든 실행마다 다릅니다. Postdata의 핸들러가 모든 메시지에 대해 호출되지 않습니다.

CWriteToFile *m_pThread = (CWriteToFile *)AfxBeginThread(RUNTIME_CLASS (CWriteToFile)); 

PostThreadMessage(m_pThread->m_nThreadID , WM_WRITE_TO_FILE, (WPARAM)pData,NULL); 

WaitForSingleObject(m_pThread, INFINITE); 

PostThreadMessage의 반환 값은 성공적입니다.

+0

답해 주셔서 감사합니다. 모든 게시물에 대해 게시물의 반환 값이 성공했습니다. 그러나 핸들러는 몇 개의 메시지에 대해서만 호출됩니다. – Karthik

답변

0

메시지 큐가 가득 차면 PostMessage 패밀리 이 실패 할 수 있습니다. 함수 호출이 성공했는지 여부를 확인해야합니다.