diff options
Diffstat (limited to 'bindings/winrt/HandleRef.cs')
-rw-r--r-- | bindings/winrt/HandleRef.cs | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/bindings/winrt/HandleRef.cs b/bindings/winrt/HandleRef.cs new file mode 100644 index 0000000..649f125 --- /dev/null +++ b/bindings/winrt/HandleRef.cs @@ -0,0 +1,55 @@ +// ==++== +// +// Copyright (c) Microsoft Corporation. All rights reserved. +// +// ==--== +namespace System.Runtime.InteropServices +{ + + using System; + + [System.Runtime.InteropServices.ComVisible(true)] + public struct HandleRef + { + + // ! Do not add or rearrange fields as the EE depends on this layout. + //------------------------------------------------------------------ + internal Object m_wrapper; + internal IntPtr m_handle; + //----------------------------------------------------------------- + + + public HandleRef(Object wrapper, IntPtr handle) + { + m_wrapper = wrapper; + m_handle = handle; + } + + public Object Wrapper + { + get + { + return m_wrapper; + } + } + + public IntPtr Handle + { + get + { + return m_handle; + } + } + + + public static explicit operator IntPtr(HandleRef value) + { + return value.m_handle; + } + + public static IntPtr ToIntPtr(HandleRef value) + { + return value.m_handle; + } + } +}
\ No newline at end of file |