2 using System.Runtime.InteropServices;
4 using System.Security.Permissions;
6 [SecurityPermission (SecurityAction.Deny, UnmanagedCode=true)]
10 [DllImport ("libc", SetLastError=true)]
11 public static extern uint getuid ();
14 [DllImport ("kernel32.dll", SetLastError=true)]
15 public static extern uint GetTickCount ();
17 static bool RunningOnWindows ()
19 int p = (int) Environment.OSVersion.Platform;
20 bool win = ((p != 4) && (p != 128));
21 Console.WriteLine ("Running on {0}...", Environment.OSVersion);
28 uint u = (RunningOnWindows () ? GetTickCount () : getuid ());
29 Console.WriteLine ("*1* P/Invoke: {0}", u);
32 catch (SecurityException se) {
33 Console.WriteLine ("*0* Expected SecurityException\n{0}", se);
37 Console.WriteLine ("*2* Unexpected exception\n{0}", e);