コード例 #1
0
    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);
        }
    }
コード例 #2
0
    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);
            }
        }
    }