SOL9 2.0 Class: NetServer

 SOL9 C++ Class Library  SOL9 Samples  SOL9 Tutorial  SOL9 FAQ  SOL9 ClassTree 

Source code

/*
 * NetServer.h 
 * Copyright (c) 2011 Antillia.com TOSHIYUKI ARAI. ALL RIGHTS RESERVED. 
 */


// SOL9
// 2009/10/10

#pragma once

#include <sol/nm/NetManager.h>
#include <sol/nm/ServerInfo.h>

namespace SOL {

class NetServer :public NetManager {

public:
    /**
     * Constructor
     */
    NetServer(const wchar_t* server=NULL)
        :NetManager(server)
    {
        
    }


public:
    int enumerate(__in const wchar_t* domain, __inout ServerInfo& shareInfo)
    {
        const wchar_t* serverName = getServerName();
        LPBYTE pbuffer;    
        DWORD entriesRead = 0;
        DWORD totalEntries = 0;
        DWORD resumeHandle = 0;
        
        DWORD serverType    =    SV_TYPE_ALL;

        NET_API_STATUS rc = NetServerEnum((wchar_t*)serverName, shareInfo.getLevel(),
              &pbuffer,
              MAX_PREFERRED_LENGTH,
              &entriesRead,
              &totalEntries,
            serverType,
            (wchar_t*)domain,
             NULL);//&resumeHandle);

        if (rc == NERR_Success) {        
            shareInfo.setInfo(pbuffer, entriesRead, totalEntries);
        } else {
            printf("Failed to call NetServerEnum: %d\n", rc);
            throw (int)rc;
        }
        return rc;
    }

};

}

Last modified: 1 Feb 2012

Copyright (c) 2009-2012 Antillia.com ALL RIGHTS RESERVED.