6 #define INC_SHIFT ++debug_shift;
7 #define DEC_SHIFT --debug_shift;
8 #define PRT_SHIFT do { DWORD cur = 0; for (; cur < debug_shift; ++cur) printf("\t"); } while (0);
10 void np_enum(NETRESOURCEW
* resource
)
18 if (resource
&& resource
->lpRemoteName
)
21 ret
= WNetOpenEnum(RESOURCE_GLOBALNET
, RESOURCETYPE_DISK
, 0, resource
, &handle
);
22 if (ret
!= WN_SUCCESS
)
25 out
= HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY
, size
);
28 WNetCloseEnum(handle
);
36 printf("Called with lpRemoteName not null, current value: %S\n", resource
->lpRemoteName
);
43 ret
= WNetEnumResource(handle
, &count
, out
, &size
);
44 if (ret
== WN_SUCCESS
|| ret
== WN_MORE_DATA
)
46 NETRESOURCEW
* current
;
49 for (; count
; count
--)
52 printf("lpRemoteName: %S\n", current
->lpRemoteName
);
54 if ((current
->dwUsage
& RESOURCEUSAGE_CONTAINER
) == RESOURCEUSAGE_CONTAINER
)
57 printf("Found provider: %S\n", current
->lpProvider
);
64 } while (ret
!= WN_NO_MORE_ENTRIES
);
67 HeapFree(GetProcessHeap(), 0, out
);
68 WNetCloseEnum(handle
);
71 int wmain(int argc
, const WCHAR
*argv
[])