Microsoft Windows Vista Community Forums - Vistaheads
Recommended Download



Welcome to the Microsoft Windows Vista Community Forums - Vistaheads, YOUR Largest Resource for Windows Vista related information.

You are currently viewing our boards as a guest which gives you limited access to view most discussions and access our other features. By joining our free community you will have access to post topics, communicate privately with other members (PM), respond to polls, upload content and access many other special features. Registration is fast, simple and absolutely free so , join our community today!

If you have any problems with the registration process or your account login, please contact us.

Driver Scanner

LocalSystem cannot enumerate domains on Windows Vista

microsoft.public.windows.vista.security






Speedup My PC
Reply
  #1 (permalink)  
Old 05-28-2007
omar.estrada@gmail.com
 

Posts: n/a
LocalSystem cannot enumerate domains on Windows Vista
Hi.

I develop an application that needs to show the user a list of the
visible domain names in a organization. This used to be done with the
paif of functions WNetOpenEnum()/WNetEnumResource(). Up to Windows 2k3
these functions effectively allowed the program, running as
LocalSystem, to retrieve the list of domains, but with Windows Vista,
WNetOpenEnum() fails miserably with error code 1312:

bool CSelectComputerNetwork::EnumDomains(NETRESOURCE* pnr,
vector<CNETRESOURCE>& vecnrDomains)
{
HANDLE handle = NULL;
DWORD dwResult = ::WNetOpenEnum(RESOURCE_GLOBALNET,
RESOURCETYPE_ANY,
0,
pnr,
&handle);

if (dwResult == NO_ERROR)
{
NETRESOURCE nr, *pnrChildrenResource = new
NETRESOURCE[BUFSIZE];

DWORD dwRequested = -1;
DWORD& dwGotten = dwRequested;

DWORD dwBufSize = sizeof(NETRESOURCE) * BUFSIZE;

dwResult = ::WNetEnumResource(handle, &dwRequested,
pnrChildrenResource, &dwBufSize);

if (dwResult == NO_ERROR)
{
for (int i = 0; i < dwGotten; ++i)
{
if (pnrChildrenResource[i].dwDisplayType ==
RESOURCEDISPLAYTYPE_DOMAIN)
{
vecnrDomains.push_back(pnrChildrenResource[i]);
}
else
{
memcpy(&nr, &pnrChildrenResource[i],
sizeof(NETRESOURCE));
if (!EnumDomains(&nr, vecnrDomains))
{
delete[] pnrChildrenResource;
::WNetCloseEnum(handle);
return false;
}
}
}

delete[] pnrChildrenResource;
return (::WNetCloseEnum(handle) == NO_ERROR) ? true :
false;
}
else if (dwResult == ERROR_NO_MORE_ITEMS)
{
delete[] pnrChildrenResource;
return (::WNetCloseEnum(handle) == NO_ERROR) ? true :
false;
}
else//WNetEnumResource(_) failed
{
_ASSERTE(FALSE);
delete[] pnrChildrenResource;
::WNetCloseEnum(handle);
return false;
}

}
else//WNetOpenEnum(_) failed
{
_ASSERTE(FALSE);
return false;
}
}

Notice that if this code is run as Administrator, it works just fine;
however, this is not an option since that could give the program too
much power and can open security holes. I was wondering if there's a
local security police that I could tweak so that the LocalSystem user
or my program is allowed to enumerate the domains.

Thanks in advanced.

Omar Estrada

Reply With Quote
Sponsored Links
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off

Similar Threads
Thread Thread Starter Forum Replies Last Post
Error ? What the solution ? I'm using windows live custom domains - mail accounts Marcio Costa - BCBIT Consultoria de Negocios e TI microsoft.public.windows.vista.mail 1 05-13-2007 22:45
Vista Home Premium and Domains =?Utf-8?B?SmFuZXRQ?= microsoft.public.windows.vista.networking sharing 5 03-20-2007 22:46
How to enumerate serial ports under vista? Fred Hebert microsoft.public.windows.vista.general 0 03-14-2007 02:30
Domains and Workgroups Kevin microsoft.public.windows.vista.general 6 03-09-2007 05:39




All times are GMT +1. The time now is 21:18.




Driver Scanner - Free Scan Now

Vistaheads.com is part of the Heads Network. See also XPHeads.com , Win7Heads.com and Win8Heads.com.


Design by Vjacheslav Trushkin for phpBBStyles.com.
Powered by vBulletin® Version 3.6.7
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.6.0 RC 2

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120