Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WinForms should use System.Runtime.InteropServices.ComTypes #1253

Closed
JeremyKuhne opened this issue Jul 1, 2019 · 4 comments
Closed

WinForms should use System.Runtime.InteropServices.ComTypes #1253

JeremyKuhne opened this issue Jul 1, 2019 · 4 comments
Labels
tracking-external-issue An issue is caused by an external system and won't be fixed in this repo

Comments

@JeremyKuhne
Copy link
Member

Doing so will significantly reduce the footprint of WinForms and will reduce risk.

@JeremyKuhne
Copy link
Member Author

This includes:

 ADVF
 BINDPTR
 BIND_OPTS
 CALLCONV
 CONNECTDATA
 DATADIR
 DESCKIND
 DISPPARAMS
 DVASPECT
 ELEMDESC
 EXCEPINFO
 FILETIME
 FORMATETC
 FUNCDESC
 FUNCFLAGS
 FUNCKIND
 IAdviseSink
 IBindCtx
 IConnectionPoint
 IConnectionPointContainer
 IDataObject
 IDLDESC
 IDLFLAG
 IEnumConnectionPoints
 IEnumConnections
 IEnumFORMATETC
 IEnumMoniker
 IEnumSTATDATA
 IEnumString
 IEnumVARIANT
 IMoniker
 IMPLTYPEFLAGS
 INVOKEKIND
 IPersistFile
 IRunningObjectTable
 IStream
 ITypeComp
 ITypeInfo
 ITypeInfo2
 ITypeLib
 ITypeLib2
 LIBFLAGS
 PARAMDESC
 PARAMFLAG
 STATDATA
 STATSTG
 STGMEDIUM
 SYSKIND
 TYMED
 TYPEATTR
 TYPEDESC
 TYPEFLAGS
 TYPEKIND
 TYPELIBATTR
 VARDESC
 VARFLAGS
 VARKIND

https://apisof.net/catalog/System.Runtime.InteropServices.ComTypes

Most of these are currently redefined in WinForms. This is a good thing to tackle early in v.Next to give the migration plenty of time to bake. It isn't a huge task, but there is transliteration risk.

Note that a lot of these are defined in WinForms as tag*, e.g tagVARDESC.

@AaronRobinsonMSFT
Copy link
Member

cc @jkoritzinsky @jeffschwMSFT

@RussKie
Copy link
Member

RussKie commented Jul 2, 2019

Is there a way we can test the changes to avoid/minimise changes of regressions?

@merriemcgaw merriemcgaw added this to the 5.0.0 milestone Jul 3, 2019
@dreddy-work dreddy-work added the code cleanup cleanup code for unused apis/properties/comments - no functional changes. label Jul 10, 2019
@RussKie
Copy link
Member

RussKie commented Sep 25, 2019

As discussed in https://github.com/dotnet/winforms/pull/1961/files#r327620006 a number of types in System.Runtime.InteropServices.ComTypes have a number of drawbacks, such as not being blittable or use different base types, and thus do not meet the bar.

@RussKie RussKie closed this as completed Sep 25, 2019
@RussKie RussKie removed this from the 5.0 milestone Sep 25, 2019
@RussKie RussKie added tracking-external-issue An issue is caused by an external system and won't be fixed in this repo and removed code cleanup cleanup code for unused apis/properties/comments - no functional changes. labels Sep 25, 2019
@ghost ghost locked as resolved and limited conversation to collaborators Feb 5, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
tracking-external-issue An issue is caused by an external system and won't be fixed in this repo
Projects
None yet
Development

No branches or pull requests

5 participants