===================================================================\r
--- wnet.c (révision 70645)\r
+++ wnet.c (copie de travail)\r
+@@ -750,7 +750,12 @@\r
+ providerTable->table[index].dwEnumScopes & WNNC_ENUM_GLOBAL)\r
+ {\r
+ HANDLE handle;\r
++ PVOID RemoteName = lpNet->lpRemoteName;\r
+ \r
++ if ((lpNet->dwUsage & RESOURCEUSAGE_CONTAINER) &&\r
++ RemoteName && !strcmpW(RemoteName, lpNet->lpProvider))\r
++ lpNet->lpRemoteName = NULL;\r
++\r
+ ret = providerTable->table[index].openEnum(\r
+ dwScope, dwType, dwUsage, lpNet, &handle);\r
+ if (ret == WN_SUCCESS)\r
+@@ -760,6 +765,8 @@\r
+ ret = *lphEnum ? WN_SUCCESS :\r
+ WN_OUT_OF_MEMORY;\r
+ }\r
++\r
++ lpNet->lpRemoteName = RemoteName;\r
+ }\r
+ else\r
+ ret = WN_NOT_SUPPORTED;\r
@@ -1553,6 +1553,33 @@\r
dwFlags, NULL, 0, NULL);\r
}\r
providerTable->table[index].dwEnumScopes & WNNC_ENUM_GLOBAL)
{
HANDLE handle;
+ PVOID RemoteName = lpNet->lpRemoteName;
+
+ if ((lpNet->dwUsage & RESOURCEUSAGE_CONTAINER) &&
+ RemoteName && !strcmpW(RemoteName, lpNet->lpProvider))
+ lpNet->lpRemoteName = NULL;
ret = providerTable->table[index].openEnum(
dwScope, dwType, dwUsage, lpNet, &handle);
ret = *lphEnum ? WN_SUCCESS :
WN_OUT_OF_MEMORY;
}
+
+ lpNet->lpRemoteName = RemoteName;
}
else
ret = WN_NOT_SUPPORTED;