🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: borland.public.cppbuilder.nativeapi
Article #14203

How can i enumerate shared network folders

#14203
From: ScOe
Date: Wed, 20 Aug 2003 22:08
51 lines
2531 bytes
After enumerating network resources how to enumarate shared folders ?

BOOL __fastcall TNetEnumForm::EnumFunc (LPNETRESOURCE lpnr, TTreeNode
*pNode)
{
DWORD dwResult, dwResultEnum;
HANDLE hEnum;
DWORD cbBuffer = 16384;
DWORD cEntries = 0xFFFFFFFF;
LPNETRESOURCE lpnrLocal;
DWORD i;

dwResult = WNetOpenEnum (RESOURCE_GLOBALNET, RESOURCETYPE_ANY, 0,
lpnr,&hEnum);

if (dwResult != NO_ERROR)
    return FALSE;

lpnrLocal = (LPNETRESOURCE) GlobalAlloc (GPTR, cbBuffer);
dwResultEnum = WNetEnumResource (hEnum, &cEntries, lpnrLocal, &cbBuffer);
if (dwResultEnum == NO_ERROR) {
    for(i=0; i<cEntries; i++) {
        if(RESOURCEUSAGE_CONTAINER == (lpnrLocal[i].dwUsage &
RESOURCEUSAGE_CONTAINER)) {
            if (EnumFunc(&lpnrLocal[i], pNode) &&
(lpnrLocal[i].dwDisplayType == RESOURCEDISPLAYTYPE_SERVER)) {
                AnsiString Ans1 = lpnrLocal[i].lpRemoteName;
                int pos = Ans1.Pos ("\\\\");
                if (pos) Ans1.Delete (1, pos+1);
                pNode = TreeView1->Items->Add (pNode, Ans1);

                // i thought this will enumarate folders but ... noup
                lpnrLocal[i].dwType = RESOURCETYPE_ANY;
                if (WNetAddConnection2(&lpnrLocal[i], NULL, NULL,
CONNECT_UPDATE_PROFILE) == NO_ERROR)
                    TreeView1->Items->AddChild (pNode,
lpnrLocal[i].lpLocalName);
                }
            }
        }
    }
else if (dwResultEnum != ERROR_NO_MORE_ITEMS)
    return false;

GlobalFree((HGLOBAL) lpnrLocal);
dwResult = WNetCloseEnum(hEnum);

if(dwResult != NO_ERROR)
    return FALSE;
return TRUE;
}
Technical Details
Message-ID: <3f43f193@newsgroups.borland.com>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-06!sn-xit-09!supernews.com!diablo.theplanet.net!newsfeed00.sul.t-online.de!newsfeed01.sul.t-online.de!t-online.de!newsgroups.borland.com!not-for-mail

Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit
X-Google-Thread: 10cc67,f9a47c46079cf430,start
X-Google-Attributes: gid10cc67,public
X-Google-ArrivalTime: 2003-08-20 15:10:58 PST
From: "ScOe" <sven.savic@zg.hinet.hr>
Newsgroups: borland.public.cppbuilder.nativeapi
Subject: How can i enumerate shared network folders
Date: Thu, 21 Aug 2003 00:08:29 +0200
Lines: 53
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2800.1158
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165
NNTP-Posting-Host: 213.191.148.152
Message-ID: <3f43f193@newsgroups.borland.com>
X-Trace: newsgroups.borland.com 1061417363 213.191.148.152 (20 Aug 2003 15:09:23 -0700)
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-06!sn-xit-09!supernews.com!diablo.theplanet.net!newsfeed00.sul.t-online.de!newsfeed01.sul.t-online.de!t-online.de!newsgroups.borland.com!not-for-mail