public static int GetDXGIInterface <DXGI_TYPE>(IInspectable * @object, DXGI_TYPE **dxgi)
            where DXGI_TYPE : unmanaged
        {
            var guid = typeof(DXGI_TYPE).GUID;

            return(GetDXGIInterfaceFromObject(@object, &guid, (void **)dxgi));
        }
 public static HRESULT GetDXGIInterface <DXGI_TYPE>(IInspectable * @object, DXGI_TYPE **dxgi)
     where DXGI_TYPE : unmanaged, IUnknown.Interface
 {
     return(GetDXGIInterfaceFromObject(@object, __uuidof <DXGI_TYPE>(), (void **)dxgi));
 }