mirror of
git://sourceware.org/git/newlib-cygwin.git
synced 2025-02-22 00:38:06 +08:00
Cygwin: fhandler_netdrive: improve debug output
Add debug output for errors when calling WNet functions. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
This commit is contained in:
parent
a92d69d743
commit
f03222f242
@ -630,6 +630,7 @@ LoadDLLfunc (LdapMapErrorToWin32, 0, wldap32)
|
|||||||
|
|
||||||
LoadDLLfunc (WNetCloseEnum, 4, mpr)
|
LoadDLLfunc (WNetCloseEnum, 4, mpr)
|
||||||
LoadDLLfunc (WNetEnumResourceW, 16, mpr)
|
LoadDLLfunc (WNetEnumResourceW, 16, mpr)
|
||||||
|
LoadDLLfunc (WNetGetLastErrorW, 20, mpr)
|
||||||
LoadDLLfunc (WNetGetProviderNameW, 12, mpr)
|
LoadDLLfunc (WNetGetProviderNameW, 12, mpr)
|
||||||
LoadDLLfunc (WNetGetResourceInformationW, 16, mpr)
|
LoadDLLfunc (WNetGetResourceInformationW, 16, mpr)
|
||||||
LoadDLLfunc (WNetOpenEnumW, 20, mpr)
|
LoadDLLfunc (WNetOpenEnumW, 20, mpr)
|
||||||
|
@ -42,6 +42,27 @@ struct net_hdls
|
|||||||
HANDLE dom;
|
HANDLE dom;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static void
|
||||||
|
wnet_dbg_out (const char *func, DWORD ndi_ret)
|
||||||
|
{
|
||||||
|
DWORD gle_ret;
|
||||||
|
DWORD error;
|
||||||
|
WCHAR errorbuf[MAX_PATH];
|
||||||
|
WCHAR namebuf[MAX_PATH];
|
||||||
|
|
||||||
|
if (ndi_ret != ERROR_EXTENDED_ERROR)
|
||||||
|
{
|
||||||
|
debug_printf ("%s failed: %u", func, ndi_ret);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
gle_ret = WNetGetLastErrorW (&error, errorbuf, MAX_PATH, namebuf, MAX_PATH);
|
||||||
|
if (gle_ret == NO_ERROR)
|
||||||
|
debug_printf ("%s failed: %u --> %u from '%W': '%W'",
|
||||||
|
func, ndi_ret, error, namebuf, errorbuf);
|
||||||
|
else
|
||||||
|
debug_printf ("WNetGetLastError failed: %u", gle_ret);
|
||||||
|
}
|
||||||
|
|
||||||
static DWORD WINAPI
|
static DWORD WINAPI
|
||||||
thread_netdrive (void *arg)
|
thread_netdrive (void *arg)
|
||||||
{
|
{
|
||||||
@ -61,7 +82,10 @@ thread_netdrive (void *arg)
|
|||||||
ndi->ret = WNetGetProviderNameW (WNNC_NET_LANMAN, provider,
|
ndi->ret = WNetGetProviderNameW (WNNC_NET_LANMAN, provider,
|
||||||
(size = 256, &size));
|
(size = 256, &size));
|
||||||
if (ndi->ret != NO_ERROR)
|
if (ndi->ret != NO_ERROR)
|
||||||
break;
|
{
|
||||||
|
wnet_dbg_out ("WNetGetProviderNameW", ndi->ret);
|
||||||
|
break;
|
||||||
|
}
|
||||||
memset (nro, 0, sizeof *nro);
|
memset (nro, 0, sizeof *nro);
|
||||||
nro->dwScope = RESOURCE_GLOBALNET;
|
nro->dwScope = RESOURCE_GLOBALNET;
|
||||||
nro->dwType = RESOURCETYPE_ANY;
|
nro->dwType = RESOURCETYPE_ANY;
|
||||||
@ -72,7 +96,10 @@ thread_netdrive (void *arg)
|
|||||||
ndi->ret = WNetOpenEnumW (RESOURCE_GLOBALNET, RESOURCETYPE_DISK,
|
ndi->ret = WNetOpenEnumW (RESOURCE_GLOBALNET, RESOURCETYPE_DISK,
|
||||||
RESOURCEUSAGE_ALL, nro, &nh->net);
|
RESOURCEUSAGE_ALL, nro, &nh->net);
|
||||||
if (ndi->ret != NO_ERROR)
|
if (ndi->ret != NO_ERROR)
|
||||||
break;
|
{
|
||||||
|
wnet_dbg_out ("WNetOpenEnumW", ndi->ret);
|
||||||
|
break;
|
||||||
|
}
|
||||||
while ((ndi->ret = WNetEnumResourceW (nh->net, (cnt = 1, &cnt), nro,
|
while ((ndi->ret = WNetEnumResourceW (nh->net, (cnt = 1, &cnt), nro,
|
||||||
(size = NT_MAX_PATH, &size)))
|
(size = NT_MAX_PATH, &size)))
|
||||||
== NO_ERROR)
|
== NO_ERROR)
|
||||||
@ -89,13 +116,19 @@ thread_netdrive (void *arg)
|
|||||||
ndi->ret = WNetGetProviderNameW (WNNC_NET_LANMAN, provider,
|
ndi->ret = WNetGetProviderNameW (WNNC_NET_LANMAN, provider,
|
||||||
(size = 256, &size));
|
(size = 256, &size));
|
||||||
if (ndi->ret != NO_ERROR)
|
if (ndi->ret != NO_ERROR)
|
||||||
break;
|
{
|
||||||
|
wnet_dbg_out ("WNetGetProviderNameW", ndi->ret);
|
||||||
|
break;
|
||||||
|
}
|
||||||
((LPNETRESOURCEW) ndi->in)->lpProvider = provider;
|
((LPNETRESOURCEW) ndi->in)->lpProvider = provider;
|
||||||
ndi->ret = WNetGetResourceInformationW ((LPNETRESOURCEW) ndi->in, nro,
|
ndi->ret = WNetGetResourceInformationW ((LPNETRESOURCEW) ndi->in, nro,
|
||||||
(size = NT_MAX_PATH, &size),
|
(size = NT_MAX_PATH, &size),
|
||||||
&dummy);
|
&dummy);
|
||||||
if (ndi->ret != NO_ERROR)
|
if (ndi->ret != NO_ERROR)
|
||||||
break;
|
{
|
||||||
|
wnet_dbg_out ("WNetGetResourceInformationW", ndi->ret);
|
||||||
|
break;
|
||||||
|
}
|
||||||
ndi->ret = WNetOpenEnumW (RESOURCE_GLOBALNET, RESOURCETYPE_DISK,
|
ndi->ret = WNetOpenEnumW (RESOURCE_GLOBALNET, RESOURCETYPE_DISK,
|
||||||
RESOURCEUSAGE_ALL, nro, &nh->dom);
|
RESOURCEUSAGE_ALL, nro, &nh->dom);
|
||||||
break;
|
break;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user