2012-05-11 38 views
-1

我嘗試監測變化WaitForMultipleObjects的不正常工作

  1. //server/results
  2. //server/results/1
  3. //server/results/1/output
  4. //server/results/2
  5. //server/results/2/output
  6. //server/results/3
  7. //server/results/3/output
  8. 等...

他們每個人都有被FindFirstChangeNotification創建句柄。因此,當生成更多結果時,句柄的數量正在接近服務器連接限制50(通常一臺遠程服務器可以同時支持最多50個接收函數。)我的問題是,一切正常,直到數量句柄達到47左右,則//server/results停止工作。

+1

代碼片段? 'WaitForMultipleObjects'工作量大,最多可處理MAXIMUM_WAIT_OBJECTS個句柄。 –

+1

非常奇怪的問題。標題提到'WaitForMultipleObjects',但是在主題中沒有提及。沒有代碼,這是一個沒有問題的問題。並且已知'WaitForMultipleObjects'工作。問題出在您的代碼中。你需要在這裏調整你的心態。 –

+1

爲什麼不只是在'bWatchSubtree'設置爲true的情況下觀看'// server/results'? – Deanna

回答

1

而不是使用FindFirstChangeNotification,您可以嘗試使用ReadDirectoryChangesW代替,它可以遞歸監視文件夾。