

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 すべてのコンテナリソース