Pierre Schweitzer pierre@reactos.org wrote:
- size = 0x1000;
- resources = HeapAlloc(GetProcessHeap(), 0, size);
- if (!resources)
- {
WNetCloseEnum(connected);return WN_OUT_OF_MEMORY;- }
- do
- {
size = 0x1000;count = -1;
There is no need to initialize count, you are not verifying it anyway after the API call.
memset(resources, 0, size);ret = WNetEnumResourceW(connected, &count, resources, &size);if (ret == WN_SUCCESS || ret == WN_MORE_DATA){iter = resources;for (; count; count--){WNetCancelConnection2W(iter->lpLocalName, 0, TRUE);iter++;}}elsebreak;- } while (ret != WN_NO_MORE_ENTRIES);
Since you are using an arbitrary size for NETRESOURCEW array it should be possible to avoid dynamic heap allocation by using a fixed size array of NETRESOURCEW structures (say 16), or even a single item. That would simplify the code.