public static extern HRESULT DrawThemeEdge(
     IntPtr hTheme,
     Gdi32.HDC hdc,
     int iPartId,
     int iStateId,
     ref RECT pDestRect,
     User32.EDGE uEdge,
     User32.BF uFlags,
     ref RECT pContentRect);
        public static HRESULT DrawThemeEdge(
            IHandle hTheme,
            Gdi32.HDC hdc,
            int iPartId,
            int iStateId,
            ref RECT pDestRect,
            User32.EDGE uEdge,
            User32.BF uFlags,
            ref RECT pContentRect)
        {
            HRESULT hr = DrawThemeEdge(hTheme.Handle, hdc, iPartId, iStateId, ref pDestRect, uEdge, uFlags, ref pContentRect);

            GC.KeepAlive(hTheme);
            return(hr);
        }