/// <summary> /// Initializes a new instance of the <see cref="NetBiosInfo"/> class. /// </summary> /// <param name="w">The w.</param> public NetBiosInfo(WKSTA_INFO_100 w) { PlatformID = w.wki100_platform_id; ComputerName = w.wki100_computername; LANGroup = w.wki100_langroup; VerMajor = w.wki100_ver_major; VerMinor = w.wki100_ver_minor; }
public static String GetDomainName(String ServerName) { IntPtr domainPtr = new IntPtr(); int result = 0; String DomaiName = String.Empty; try { result = NetWkstaGetInfo(ServerName, 100, out domainPtr); if (result == ErrorConstants.ERROR_ACCESS_DENIED) { EstablishConnectionWithPrompt(ServerName, String.Empty, String.Empty, ref result); if (result == ErrorConstants.NERR_Success) { result = NetWkstaGetInfo(ServerName, 100, out domainPtr); } } if (result == ErrorConstants.NERR_Success) { WKSTA_INFO_100 wksta_info = (WKSTA_INFO_100)Marshal.PtrToStructure(domainPtr, typeof(WKSTA_INFO_100)); if (!string.IsNullOrEmpty(wksta_info.lan_group)) { DomaiName = wksta_info.lan_group; } } NetAPICommon.NetApiBufferFree(domainPtr); } catch (Exception ex) { AMTLogger.WriteToLog(ex.Message, MethodBase.GetCurrentMethod().Name, 0, AMTLogger.LogInfo.Error); } return(DomaiName); }
public static string GetComputerVersion(string server) { IntPtr buffer = IntPtr.Zero; uint ret = NetWkstaGetInfo(server, 100, out buffer); if (ret != 0) { Trace.WriteLine("GetComputerVersion " + server + " returned " + ret); return("not found"); } try { WKSTA_INFO_100 data = (WKSTA_INFO_100)Marshal.PtrToStructure(buffer, typeof(WKSTA_INFO_100)); string version = data.ver_major.ToString() + "." + data.ver_minor.ToString(); return(version); } finally { NetApiBufferFree(buffer); } }
private static extern int NetWkstaGetInfo(string server, int level, out WKSTA_INFO_100 info);
private static extern int NetApiBufferFree(WKSTA_INFO_100 info);