hi,
I have some problems accessing the filesystem.
How do I discover the network neigbourhood (servers and shares)?
I used WNetOpenEnum / WNetEnumResource, but they return a framework of "containers". I did not find an easy way to select the container that lists the known computers. It looks like Windows identifies the containers by their localized names: (outch!)
Microsoft-Terminaldienste Scope: GLOBALNET Type: ANY Display: GENERIC SERVER Usage: Container Microsoft Windows-Netzwerk Scope: GLOBALNET Type: ANY Display: GENERIC SERVER Usage: Container TEAM Scope: GLOBALNET Type: ANY Display: DOMAIN GENERIC Usage: Container \JPT Scope: GLOBALNET Type: ANY Display: GENERIC SERVER Usage: Container \JPT\SPIELE Scope: GLOBALNET Type: ANY DISK Display: DOMAIN GENERIC SERVER SHARE Usage: Share \JPT\DVD Scope: GLOBALNET Type: ANY DISK Display: DOMAIN GENERIC SERVER SHARE Usage: Share \JPT\DATEN Scope: GLOBALNET Type: ANY DISK Display: DOMAIN GENERIC SERVER SHARE Usage: Share [...]
Is there any other way of listing shares and servers? Do you know a trick to get the network neigbourhoud instead of terminal services and the other stuff?
This calls are SLOW. This is the part, which made me hate MS explorer. because it hangs whole minutes doing strange things on the network. Will ROS be more stable and fast?
Or should I keep an eye on multithreading? Or implement SMB from scratch?
BTW, How do you find files / dirs in filesystem? I used delphi findfirst/findnext, which seems to be a direct mapping to WinAPI findfirst/next.
When I try to access removable drives without media, I get those annoying requests to insert a medium into the drive. the modern variant of old "abort retry ignore", but with no effect.
Any way to work around? read the state of the drive before reading files? How?
Jan
AFAIK The "Explorer Problem" you mentioned is the following: Explorer or shell.dll provides a system with the explorer name-space (Desktop etc). This is implemented via COM and that originally single threaded. for multiple threadsthis namespace uses the so called ApartmentTreading wich is a serialization throughout threads. Processes get serialized that way or anohter. And when this namespace-CoM object runs in a user interface thread and blocks, everything is blocked. Ohter explorers (different Processes), Burner prgs, File open boxes.....
Martin ... can you avoid this problem somehow?
Jan Tisje schrieb:
hi,
I have some problems accessing the filesystem.
How do I discover the network neigbourhood (servers and shares)?
I used WNetOpenEnum / WNetEnumResource, but they return a framework of "containers". I did not find an easy way to select the container that lists the known computers. It looks like Windows identifies the containers by their localized names: (outch!)
Microsoft-Terminaldienste Scope: GLOBALNET Type: ANY Display: GENERIC SERVER Usage: Container Microsoft Windows-Netzwerk Scope: GLOBALNET Type: ANY Display: GENERIC SERVER Usage: Container TEAM Scope: GLOBALNET Type: ANY Display: DOMAIN GENERIC Usage: Container \JPT Scope: GLOBALNET Type: ANY Display: GENERIC SERVER Usage: Container \JPT\SPIELE Scope: GLOBALNET Type: ANY DISK Display: DOMAIN GENERIC SERVER SHARE Usage: Share \JPT\DVD Scope: GLOBALNET Type: ANY DISK Display: DOMAIN GENERIC SERVER SHARE Usage: Share \JPT\DATEN Scope: GLOBALNET Type: ANY DISK Display: DOMAIN GENERIC SERVER SHARE Usage: Share [...]
Is there any other way of listing shares and servers? Do you know a trick to get the network neigbourhoud instead of terminal services and the other stuff?
This calls are SLOW. This is the part, which made me hate MS explorer. because it hangs whole minutes doing strange things on the network. Will ROS be more stable and fast?
Or should I keep an eye on multithreading? Or implement SMB from scratch?
BTW, How do you find files / dirs in filesystem? I used delphi findfirst/findnext, which seems to be a direct mapping to WinAPI findfirst/next.
When I try to access removable drives without media, I get those annoying requests to insert a medium into the drive. the modern variant of old "abort retry ignore", but with no effect.
Any way to work around? read the state of the drive before reading files? How?
Jan _______________________________________________ ros-general mailing list ros-general@reactos.com http://reactos.com/mailman/listinfo/ros-general