public void UseResource() { if (handle.ToInt32() == 0) { throw new ObjectDisposedException("handle used in UseResource class after object disposed"); } string result = APIFunctionSimulator.UseResource(handle); Console.WriteLine("In ResourceUser.UseResource, result is :" + result); }
static void UseUnmanagedResource() { IntPtr handle = APIFunctionSimulator.GetResource(); try { string result = APIFunctionSimulator.UseResource(handle); Console.WriteLine("In EntryPoint.UseUnmanagedResource, result is :" + result); } catch (Exception e) { Console.WriteLine("Exception in UseUnmanagedResource: " + e.Message); } finally { if (handle.ToInt32() != 0) { APIFunctionSimulator.ReleaseResource(handle); } } }