mpr: Changes comparison of dwScope in WNetOpenEnum function
Konstantin Kondratyuk
kondratyuk at etersoft.ru
Tue Sep 25 03:53:24 CDT 2007
Hello, Juan!
> Hi Konstantin,
>
> - providerTable->table[index].dwEnumScopes
> & dwScope)
> + providerTable->table[index].dwEnumScopes
> & WNNC_ENUM_GLOBAL)
>
> This change looks correct, but it should be changed in the next block as
> well:
>
> ret = providerTable->table[index].openEnum(
> dwScope, dwType, dwUsage, lpNet, &handle);
>
> It also looks incorrect in _enumerateGlobalPassthroughW:
> ret = providerTable->table[enumerator->providerIndex].
> openEnum(enumerator->dwScope, enumerator->dwType,
> enumerator->dwUsage, enumerator->lpNet,
> &enumerator->handle);
>
> In fact, all of these usages of dwScope look to confuse the two
> meanings. (D'oh.)
> --Juan
Well, I have looked all code in mpr/wnet.c
The following condition in _globalEnumeratorAdvance() looks incorrect:
for (; enumerator->providerIndex < providerTable->numProviders &&
!(enumerator->dwScope & providerTable->table
[enumerator->providerIndex].dwEnumScopes);
enumerator->providerIndex++)
Other conditions and parameters look correctly. For example, function
NPOpenEnum() expects a dwScope, containing RESOURCE_CONNECTED,
RESOURCE_GLOBALNET or RESOURCE_CONTEXT.
Correct for me if I am not right.
--
Best regards,
Konstantin Kondratyuk.
More information about the wine-devel
mailing list