SOL9 2.0 Class: NetSession

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

Source code

/*
 * NetSession.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/SessionInfo.h>

namespace SOL {

class NetSession :public NetManager {

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

public:
    int enumerate(
            __in const wchar_t* uncClientName,
            __in const wchar_t* userName,
            __inout SessionInfo& sessionInfo)
    {
        const wchar_t* serverName = getServerName();

        LPBYTE pbuffer;    
        DWORD entriesRead = 0;
        DWORD totalEntries = 0;
        DWORD resumeHandle = 0;
        
        NET_API_STATUS rc  = NetSessionEnum((wchar_t*)serverName,
            (wchar_t*)uncClientName,
            (wchar_t*)userName,
             sessionInfo.getLevel(),
              &pbuffer,
              MAX_PREFERRED_LENGTH,
              &entriesRead,
              &totalEntries,
             NULL);//&resumeHandle);

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

}

Last modified: 1 Feb 2012

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