// Token: 0x06002336 RID: 9014 RVA: 0x000A50A0 File Offset: 0x000A32A0 private static uint DeleteShareOnNetworkTransport(string networkAddress, string shareName, out uint sharesDeletedOnThisTransport) { SHARE_INFO_503[] array = null; sharesDeletedOnThisTransport = 0U; ExTraceGlobals.NetShareTracer.TraceDebug <string, string>(0L, "DeleteShareOnNetworkTransport( addr={0}, shareName={1}, ... ) called.", networkAddress, shareName); uint num = NetShare.EnumScopedShares(networkAddress, out array); if (num != 0U) { ExTraceGlobals.NetShareTracer.TraceError <uint, string>(0L, "EnumScopedShares() error status: {0} for {1}", num, networkAddress); throw new Win32Exception((int)num); } foreach (SHARE_INFO_503 share_INFO_ in array) { if (Cluster.StringIEquals(share_INFO_.Netname, shareName) && Cluster.StringIEquals(share_INFO_.Servername, networkAddress)) { num = NetShare.NetShareDel(networkAddress, shareName, 0); if (num == 0U) { sharesDeletedOnThisTransport += 1U; } } } ExTraceGlobals.NetShareTracer.TraceDebug <string, string, uint>(0L, "DeleteShareOnNetworkTransport( addr={0}, shareName={1}, ... ) deleted {2} shares.", networkAddress, shareName, sharesDeletedOnThisTransport); return(num); }
// Token: 0x06002334 RID: 9012 RVA: 0x000A4E90 File Offset: 0x000A3090 internal static SHARE_INFO_503[] GetScopedShareInfo(string serverName, string shareName) { NetShare.SERVER_TRANSPORT_INFO2[] serverTransports = NetShare.GetServerTransports(serverName); if (serverTransports != null) { Dictionary <string, SHARE_INFO_503> dictionary = new Dictionary <string, SHARE_INFO_503>(3); foreach (NetShare.SERVER_TRANSPORT_INFO2 server_TRANSPORT_INFO in serverTransports) { if ((server_TRANSPORT_INFO.Flags & 4U) != 0U) { SHARE_INFO_503[] array2; uint num = NetShare.EnumScopedShares(server_TRANSPORT_INFO.Networkaddress, out array2); if (num != 0U) { ExTraceGlobals.NetShareTracer.TraceError <uint, string>(0L, "EnumScopedShares() error status: {0} for {1}", num, server_TRANSPORT_INFO.Networkaddress); throw new Win32Exception((int)num); } foreach (SHARE_INFO_503 value in array2) { if (Cluster.StringIEquals(value.Netname, shareName)) { dictionary[value.Servername] = value; } } } } if (dictionary.Count != 0) { Dictionary <string, SHARE_INFO_503> .ValueCollection values = dictionary.Values; SHARE_INFO_503[] array4 = new SHARE_INFO_503[values.Count]; values.CopyTo(array4, 0); return(array4); } } string path; string remark; uint type; int permissions; int max_uses; NetShare.GetShareInfo(serverName, shareName, out path, out remark, out type, out permissions, out max_uses); return(new SHARE_INFO_503[] { new SHARE_INFO_503 { Netname = shareName, Type = type, Remark = remark, Permissions = permissions, Max_uses = max_uses, Current_uses = 0, Path = path, Passwd = null, Servername = "*", Reserved = 0, Security_descriptor = IntPtr.Zero } }); }