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

Add basic implementation of the ComWrappers #653

Merged
merged 58 commits into from
Apr 21, 2021
Merged
Show file tree
Hide file tree
Changes from 10 commits
Commits
Show all changes
58 commits
Select commit Hold shift + click to select a range
28bf64b
Add basic implementation of the ComWrappers
kant2002 Feb 7, 2021
d8daea1
Fixes after refactoring in dotnet/runtime
kant2002 Feb 8, 2021
3328c6d
Rough attempt to move forward. Attempt to create CCW
kant2002 Feb 12, 2021
b328e48
Slight push toward CCW.
kant2002 Feb 16, 2021
f8165c6
Move configuration for FeatureComWrappers outside of project file
kant2002 Feb 18, 2021
fb2233f
More implementation for the MOW
kant2002 Feb 18, 2021
e35695b
Slightly more changes based on feedback.
kant2002 Feb 19, 2021
868b1bf
Delagate IUnknown implementation to MOW
kant2002 Feb 19, 2021
017e907
Implement IUnknown interface for CCW
kant2002 Feb 19, 2021
d4e3188
Return proper pointer to IUnknown
kant2002 Feb 19, 2021
3d5867c
Update src/coreclr/nativeaot/System.Private.CoreLib/src/System/Runtim…
kant2002 Feb 20, 2021
dd7ebdd
Update src/coreclr/nativeaot/System.Private.CoreLib/src/System/Runtim…
kant2002 Feb 20, 2021
f03e3c8
Apply suggestions from code review
kant2002 Feb 20, 2021
b2b33ff
Apply suggestions from code review
kant2002 Feb 20, 2021
75145a8
Apply suggestions from code review
kant2002 Feb 20, 2021
ac4d949
Address PR feedback
kant2002 Feb 20, 2021
fa87e37
Cleanup code
kant2002 Feb 21, 2021
8c89b5a
Fix build
kant2002 Feb 21, 2021
3aafcd6
Apply suggestions from code review
kant2002 Mar 4, 2021
72da0c7
Fix compilation errrors
kant2002 Mar 10, 2021
3c93e34
Introduce InternalComInterfaceDispatch
kant2002 Mar 11, 2021
b1dfda4
Reuse variable
kant2002 Mar 11, 2021
c4dca94
Delegate conversion of runtime object to COM object to ComWrappers in…
kant2002 Mar 11, 2021
367e5f4
Change message when ComWrappers are required.
kant2002 Mar 11, 2021
7577418
Attempt to fix compilation error.
kant2002 Mar 11, 2021
2fead1d
Minimal amount of working COM
kant2002 Mar 11, 2021
c7a5d1e
Fix typo
kant2002 Mar 11, 2021
08d92c2
Update src/coreclr/tools/Common/TypeSystem/IL/Stubs/PInvokeILEmitter.cs
jkotas Mar 11, 2021
3e8a8c2
Apply code review suggestions
kant2002 Mar 11, 2021
d9a65a0
Apply code review suggestions
kant2002 Mar 11, 2021
c06f5e2
Add tests for the CCW release process
kant2002 Mar 12, 2021
577f34a
Apply suggestions from code review
kant2002 Mar 12, 2021
ae0c824
Fix compilation errors
kant2002 Mar 13, 2021
a36de92
Remove Destroyed field from MOW
kant2002 Mar 13, 2021
7ee193a
Ignore COM related functions in native tests code
kant2002 Mar 14, 2021
70dd962
Fix random crash on debug builds.
kant2002 Mar 18, 2021
847a68e
Apply suggestions from code review
kant2002 Mar 18, 2021
0cf1003
Apply suggestions from code review
kant2002 Mar 19, 2021
479e306
Add validation of call for DoWork
kant2002 Mar 19, 2021
62acb0b
Fix PR feedback
kant2002 Mar 20, 2021
b021ef8
Switch to COM interface
kant2002 Apr 3, 2021
7abba2f
Pass type to which convert COM instance.
kant2002 Apr 5, 2021
3b2848a
Create separate tests for ComWrappers feature
kant2002 Apr 16, 2021
87213bb
Fix Pinvoke name of the DLL with test functions
kant2002 Apr 16, 2021
acfaca8
Fix code review comments
kant2002 Apr 17, 2021
ecbd14e
Remove incomplete PreserveSig implementation
kant2002 Apr 18, 2021
3dce725
Update src/tests/nativeaot/SmokeTests/ComWrappers/ComWrappers.cs
kant2002 Apr 18, 2021
359c53d
Update src/tests/nativeaot/SmokeTests/ComWrappers/ComWrappers.cs
kant2002 Apr 18, 2021
e761497
Update src/tests/nativeaot/SmokeTests/ComWrappers/ComWrappers.csproj
kant2002 Apr 18, 2021
5a6d6eb
Update src/tests/nativeaot/SmokeTests/ComWrappers/ComWrappers.cs
kant2002 Apr 18, 2021
716d585
Fix compilation errors
kant2002 Apr 18, 2021
218a300
Read GUID directly from metadata instead of relying on Reflection
kant2002 Apr 20, 2021
e7b0b59
Remove leftover
kant2002 Apr 20, 2021
bdba4ea
Improve GUID creation
kant2002 Apr 20, 2021
1db71ff
Fix stupid compilation error
kant2002 Apr 20, 2021
2f826ce
Add missing using
kant2002 Apr 20, 2021
0b90983
Another round of stupidity
kant2002 Apr 20, 2021
f9acd5c
One more try
kant2002 Apr 20, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions src/coreclr/nativeaot/Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,13 @@
<PropertyGroup>
<DefineConstants Condition="'$(FeatureCominterop)' == 'true'">FEATURE_COMINTEROP;$(DefineConstants)</DefineConstants>
</PropertyGroup>
<PropertyGroup>
<FeatureComWrappers>false</FeatureComWrappers>
<FeatureComWrappers Condition="'$(TargetsWindows)' == 'true'">true</FeatureComWrappers>
</PropertyGroup>
<PropertyGroup>
<DefineConstants Condition="'$(FeatureComWrappers)' == 'true'">FEATURE_COMWRAPPERS;$(DefineConstants)</DefineConstants>
kant2002 marked this conversation as resolved.
Show resolved Hide resolved
</PropertyGroup>

<!-- Platform specific properties -->
<PropertyGroup Condition="'$(Platform)' == 'x64'">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3103,6 +3103,9 @@
<data name="Argv_IncludeDoubleQuote" xml:space="preserve">
<value>The argv[0] argument cannot include a double quote.</value>
</data>
<data name="InvalidOperation_ResetGlobalComWrappersInstance" xml:space="preserve">
<value>Attempt to update previously set global instance.</value>
</data>
<data name="ResourceManager_ReflectionNotAllowed" xml:space="preserve">
<value>Use of ResourceManager for custom types is disabled. Set the MSBuild Property CustomResourceTypesSupport to true in order to enable it.</value>
</data>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -202,6 +202,7 @@
<Compile Include="System\Runtime\TypeLoaderExports.cs" />
<Compile Include="System\Runtime\InitializeFinalizerThread.cs" />
<Compile Include="System\Runtime\InteropServices\ComEventsHelper.CoreRT.cs" Condition="'$(FeatureCominterop)' == 'true'" />
<Compile Include="System\Runtime\InteropServices\ComWrappers.CoreRT.cs" Condition="'$(FeatureComWrappers)' == 'true'" />
<Compile Include="System\Runtime\InteropServices\GCHandle.CoreRT.cs" />
<Compile Include="System\Runtime\InteropServices\InteropExtensions.cs" />
<Compile Include="System\Runtime\InteropServices\NativeFunctionPointerWrapper.cs" />
Expand Down
Loading