ドメイン内のホストの一覧を取得




ドメイン内のホストの一覧を取得






ドメイン内のホストの一覧を取得


void sub_get_hosts_in_lpDomain(LPTSTR lpDomain)
{
        NETRESOURCE     ntparam;
        LPNETRESOURCE   anetres;
        HANDLE          hdlenum;
        DWORD           buffsiz;
        DWORD           numresl;

        memset(&ntparam, 0, sizeof(ntparam));
        anetres = (LPNETRESOURCE)GlobalAlloc(GMEM_FIXED, 1000);

        ntparam.dwScope       = RESOURCE_GLOBALNET;           
        ntparam.dwType        = RESOURCETYPE_ANY;             
        ntparam.dwDisplayType = RESOURCEDISPLAYTYPE_lpDomain;
        ntparam.dwUsage       = RESOURCEUSAGE_CONTAINER;
        ntparam.lpRemoteName  = lpDomain;			
        ntparam.lpProvider    = "Microsoft Windows Network";

        WNetOpenEnum(RESOURCE_GLOBALNET, RESOURCETYPE_ANY, 0, &ntparam, &hdlenum);

        buffsiz = 1000 ;
        numresl = 1 ;
        while( WNetEnumResource(hdlenum, &numresl, anetres, &buffsiz) == NO_ERROR) 
        {
                buffsiz = 1000 ;
                numresl = 1 ;
                TRACE( "Host Name = %s\n", anetres->lpRemoteName ) ;
        }
        WNetCloseEnum(hdlenum);
        GlobalFree(anetres);
}

★dwScopeメンバのとり得る値
   RESOURCE_CONNECTED    現在接続されているすべてのリソース(dwUsageパラメータは無視されます) 
   RESOURCE_CONTEXT     呼び出し側のネットワークコンテキスト内([ネットワークコンピュータ]に表示される範囲)のリソース(dwUsageパラメータは無視されます) 
   RESOURCE_GLOBALNET    ネットワーク上のすべてのリソース 
   RESOURCE_REMEMBERED   記憶されている接続(dwUsageパラメータは無視されます) 

★dwTypeメンバのとり得る値
   RESOURCETYPE_ANY     すべてのリソース(RESOURCETYPE_DISKまたはRESOURCETYPE_PRINTとの組み合わせは不可) 
   RESOURCETYPE_DISK    すべてのディスクリソース 
   RESOURCETYPE_PRINT    すべての印刷リソース 

★dwUsageメンバのとり得る値
   0 すべてのリソース 
   RESOURCEUSAGE_CONNECTABLE  すべての接続可能なリソース 
   RESOURCEUSAGE_CONTAINER   すべてのコンテナリソース 



上に戻る



戻る