我編寫一個程序,使用WNet函數列出Windows網絡共享對象。我注意到,由於某種原因,WNetEnumResource函數只檢索我的本地共享,儘管資源管理器看到了更多的對象。這可能是什麼原因造成的? 這裏的代碼:WNetEnumResource返回不完整的結果
dwResult = WNetOpenEnum(RESOURCE_GLOBALNET, RESOURCETYPE_ANY,
RESOURCEUSAGE_CONNECTABLE | RESOURCEUSAGE_CONTAINER, lpnr, &hEnum);
................
dwResultEnum = WNetEnumResource(hEnum, &cEntries, lpnrLocal, &cbBuffer);
這就是我的了:
Microsoft Terminal Services network
Microsoft Windows Network network
WORKGROUP domain
\\MOSKKM server
\\MOSKKM\HP LaserJet 3055 PCL5 share
\\MOSKKM\share share
\\MOSKKM\soft share
\\MOSKKM\tunnel share
Web Client Network network
我的系統是Win7的,我使用管理員帳戶,並沒有反病毒軟件或防火牆上運行。並且在同一臺機器上託管的橋接VirtualBox VM上也能正常工作(但是,很長一段時間)。什麼可能是錯的?也許還有其他一些方法來解決這個問題,而不是使用WNet功能?
還有:WNetEnumResource放棄按字母排序的共享對象。我無法想象任何方法如何並行化這個過程。有任何想法嗎?