/* Check for shared folders network profider */ BOOL vbox_network_share() { TCHAR szProviderName[MAX_PATH] = _T(""); DWORD lpBufferSize = MAX_PATH; if (WNetGetProviderName(WNNC_NET_RDR2SAMPLE, szProviderName, &lpBufferSize) == NO_ERROR) { if (StrCmpI(szProviderName, _T("VirtualBox Shared Folders")) == 0) return TRUE; else return FALSE; } return FALSE; }
virtual void GetWorkgroupComputers2(const std::wstring& workgroup, OBJ_LIST2000& computers) { CNetEnum<CWindowsNetInfo> neNetworkEnum(false); neNetworkEnum.Create(this, OnEnumComputers2, (DWORD)&computers); NETRESOURCE nr; nr.lpRemoteName = (wchar_t*)workgroup.c_str(); nr.dwDisplayType = RESOURCEDISPLAYTYPE_DOMAIN; nr.dwUsage = RESOURCEUSAGE_CONTAINER; nr.dwScope = RESOURCE_GLOBALNET; DWORD dwSize = MAX_PATH; TCHAR szProviderName[MAX_PATH]; DWORD dwErrorCode = WNetGetProviderName(WNNC_NET_LANMAN, szProviderName, &dwSize); if (dwErrorCode == NO_ERROR) nr.lpProvider = szProviderName; else nr.lpProvider = NULL; neNetworkEnum.Enumerate(&nr, CNetEnumBase::SEARCHDEFAULT, RESOURCEUSAGE_CONTAINER); }