diff options
author | Eric Erhardt <eric.erhardt@microsoft.com> | 2021-06-28 19:39:17 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-06-28 19:39:17 +0300 |
commit | 8707275824c2524fa670312dbc1c78551ce78ef4 (patch) | |
tree | 7e2fd9bb750ecf6a162bbc4a5e5f21a526215b97 /docs | |
parent | d0adff8186cbd58f4f63fe2ffdb26077a11390fd (diff) |
First round of converting System.Drawing.Common to COMWrappers (#54636)
* First round of converting System.Drawing.Common to COMWrappers
Using COM Wrappers makes the library trim compatible.
* Add Trimming Test for Icon.Save
* Add support for OS specific trimming tests
* Use function pointers instead of delegates
* Rename Guid to IID
* Better interop to closely match the native side
* Release any COM pointer that was QueryInterface
* Use pointers instead of Marshal.PtrToStructure/StructureToPtr
* No need for a VTable struct, just set each function pointer right into the table
* Wrap all managed calls in try-catch and return HResult
* Use COM naming
* Fix method signature to use pointer instead of out.
* CheckStatus => ThrowExceptionForHR
* Pass -1 to Marshal.GetExceptionForHR so it doesn't query GetErrorInfo, and always returns the correct exception type
* Create the PictureWrapper with UniqueInstance, so it doesn't get cached. Caching it causes lifetime issues.
Diffstat (limited to 'docs')
0 files changed, 0 insertions, 0 deletions