public static int GetHashery(this msExcel.Workbook workbook) { IntPtr punk = IntPtr.Zero; if (workbook == null) { return(punk.ToInt32()); } try { punk = Marshal.GetIUnknownForObject(workbook); return(punk.ToInt32()); } finally { //Release to decrease ref count Marshal.Release(punk); } }
public static long GetHashery(this msExcel.Workbook workbook) { if (workbook == null) { throw new ArgumentNullException("workbook"); } IntPtr pUnknown = IntPtr.Zero; try { pUnknown = Marshal.GetIUnknownForObject(workbook); return(pUnknown.ToInt64()); } finally { // GetIUnknownForObject causes AddRef. if (pUnknown != IntPtr.Zero) { Marshal.Release(pUnknown); } } }