Das Verhalten von "WNetEnumResource" ist aus meiner Sicht genau so wie es sein soll (auch unter Windows 8)
Vorsicht:
Unter Windows 8 hat sich der Zugriff zwischen
UAC-elevated bzw. non-elevated verbundenen Netzlaufwerken und
UAC-elevated bzw. non-elevated Prozesse offensichtlich geändert...
Hier zum Verständnis...
unter Windows 7 (mit aktivierter
UAC)...
1) "Normale" CMD -> net use R: \\meinserver\freigabe1
2) "Normale" CMD -> net use S: \\meinserver\freigabe2
3) "Als Admin ausgeführte" CMD -> net use T: \\meinserver\freigabe3
4!) In einer "Normalen" NOTEPAD (Speichern unter...) hast du Zugriff auf R:, S: und T: (Das Laufwerke T: ist jedoch nicht auf Anhieb verbunden)
5!) In einer "Als Admin ausgeführten" NOTEPAD (Speichern unter...) hast du Zugriff auf R:, S: und T: (Die Laufwerke R: und S: sind jedoch nicht auf Anhieb verbunden)
6) "Normale" CMD -> net use
7) "Als Admin ausgeführte" CMD -> net use
unter Windows 8 (mit aktivierter
UAC)...
1) "Normale" CMD -> net use R: \\meinserver\freigabe1
2) "Normale" CMD -> net use S: \\meinserver\freigabe2
3) "Als Admin ausgeführte" CMD -> net use T: \\meinserver\freigabe3
4!) In einer "Normalen" NOTEPAD (Speichern unter...) hast du nur Zugriff auf R: und S:
5!) In einer "Als Admin ausgeführten" NOTEPAD (Speichern unter...) hast nur Zugriff auf T:
6) "Normale" CMD -> net use
7) "Als Admin ausgeführte" CMD -> net use
Spätestens bei Punkt 6 und 7 solltest du das unterschiedliche Verhalten zwischen Windows 7 und Windows 8 erkennen
Unter Windows 7 kann man "alle" Netzlaufwerke auflisten -> Jedoch sind nur die "eigenen" Netzlaufwerke verbunden -> Der "Trick" hierbei ist, dass man auf ein "nicht verbundenes" Netzlaufwerk zugreift wird es auch im derzeit verwendeten
UAC-Kontext sofort verbunden. (Was auch funktioniert sofern die Berechtigungen es zulassen).
Unter Windows 8 siehst du nur jene Laufwerke die im jeweiligen
UAC-Kontext (Heißt das so?) verbunden wurden.
Ich bin mir ziemlich sicher dass es die Möglichkeit gibt um dieses Verhalten zwecks Abwärtskompatibilität zu steuern. (Policies od. Registry)
Nachtrag:
Ja gibt es...
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Policies/System [EnableLinkedConnections (DWORD) = 1]
(Anschließend PC neu starten, dann klappt's auch mit deinem Programm wieder)
Zu deinem Problem -> siehe auch
http://support.microsoft.com/kb/2019185