ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/repos/CCSFinger/Net.cs
Revision: 710
Committed: 2006-03-24T01:37:37-08:00 (19 years, 3 months ago) by douglas
File size: 2461 byte(s)
Log Message:
I decided to do this in C#, it still has issues right now, and is currently working less than before. SuX0r!

File Contents

# User Rev Content
1 douglas 710 // Douglas Thrift
2     //
3     // CCS Computer Science
4     //
5     // Win32 Network Management Wrapper
6    
7     using System;
8     using System.Runtime.InteropServices;
9    
10     public static class Net
11     {
12     [StructLayout(LayoutKind.Sequential)]
13     public class NET_DISPLAY_USER
14     {
15     [MarshalAs(UnmanagedType.LPWStr)]
16     public string usri1_name;
17     [MarshalAs(UnmanagedType.LPWStr)]
18     public string usri1_comment;
19     public uint usri1_flags;
20     [MarshalAs(UnmanagedType.LPWStr)]
21     public string usri1_full_name;
22     public uint usri1_user_id;
23     public uint usri1_next_index;
24     }
25    
26     [StructLayout(LayoutKind.Sequential)]
27     public class USER_INFO_11
28     {
29     [MarshalAs(UnmanagedType.LPWStr)]
30     public string usri11_name;
31     [MarshalAs(UnmanagedType.LPWStr)]
32     public string usri11_comment;
33     [MarshalAs(UnmanagedType.LPWStr)]
34     public string usri11_usr_comment;
35     [MarshalAs(UnmanagedType.LPWStr)]
36     public string usri11_full_name;
37     public uint usri11_priv;
38     public uint usri11_auth_flags;
39     public uint usri11_password_age;
40     [MarshalAs(UnmanagedType.LPWStr)]
41     public string usri11_home_dir;
42     [MarshalAs(UnmanagedType.LPWStr)]
43     public string usri11_parms;
44     public uint usri11_last_logon;
45     public uint usri11_last_logoff;
46     public uint usri11_bad_pw_count;
47     public uint usri11_num_logons;
48     [MarshalAs(UnmanagedType.LPWStr)]
49     public string usri11_logon_server;
50     public uint usri11_country_code;
51     [MarshalAs(UnmanagedType.LPWStr)]
52     public string usri11_workstations;
53     public uint usri11_max_storage;
54     public uint usri11_units_per_week;
55     public IntPtr usri11_logon_hours;
56     public uint usri11_code_page;
57     }
58    
59     [DllImport("Netapi32.dll", CharSet = CharSet.Unicode, EntryPoint = "NetQueryDisplayInformation")]
60     public static extern uint QueryDisplayInformation([In] string ServerName, [In] uint Level, [In] uint Index, [In] uint EntriesRequested, [In] uint PreferredMaximumLength, [Out] uint ReturnedEntryCount, [Out] NET_DISPLAY_USER[] SortedBuffer);
61    
62     [DllImport("Netapi32.dll", CharSet = CharSet.Unicode, EntryPoint = "NetUserGetInfo")]
63     public static extern uint UserGetInfo([In] string servername, [In] string username, [In] uint level, [Out] USER_INFO_11 bufptr);
64    
65     [DllImport("Netapi32.dll", EntryPoint = "NetApiBufferFree")]
66     public static extern uint ApiBufferFree([In] USER_INFO_11 buffer);
67    
68     [DllImport("Netapi32.dll", EntryPoint = "NetApiBufferFree")]
69     public static extern uint ApiBufferFree([In] NET_DISPLAY_USER[] buffer);
70     }