Skip to content

Conversation

@JeremyKuhne
Copy link
Member

@JeremyKuhne JeremyKuhne commented Aug 28, 2023

Port of #9776

Additional audit fixes:

  • IGetOleObject should be returning IOleObject, not IUnknown. Confirmed against VB6 code.
  • ClassPropertyDispatchAdapter was allowing conflicts with explicit [DispId]
  • Clarify code a bit in ClassPropertyDispatchAdapter.Invoke, use VARIANT marshalling, and allow no result in getter
  • Tweak ITypeLib import to throw for clarity in StandardDispatch
  • Validate DISPPARAMS parameter in StandardDispatch Invoke methods
  • Remove unused method in StandardDispatch
  • Add a few unit tests for ClassPropertyDispatchAdapterTests
  • Change namespace for IDispatchTests
  • Minor source cleaning in COM type descriptor code
  • Throw with OleCreatePropertyFrame as we used to.
  • Use ComHelpers for one missed IPerPropertyBrowsing usage in Com2IPerPropertyBrowsingEnum
  • Don't create in VARIANT for ExecuteBuilder call in COM2PropertyBuilderUITypeEditor (validated with all implementations in VS and Windows)
  • Com2PropertyDescriptor.SetValue should store the object not the VARIANT in last value and should free the VARIANT
  • Remove IErrorInfo wrapper and use the API directly
  • Use VARIANT method to get object in ProcessTypeInfoEnum
  • Add a simple test to validate interop behavior for int/uint and add comment to VARIANT
Microsoft Reviewers: Open in CodeFlow

Additional audit fixes:

- IGetOleObject should be returning IOleObject, not IUnknown. Confirmed against VB6 code.
- ClassPropertyDispatchAdapter was allowing conflicts with explicit [DispId]
- Clarify code a bit in ClassPropertyDispatchAdapter.Invoke, use VARIANT marshalling, and allow no result in getter
- Tweak ITypeLib import to throw for clarity in StandardDispatch
- Validate DISPPARAMS parameter in StandardDispatch Invoke methods
- Remove unused method in StandardDispatch
- Add a few unit tests for ClassPropertyDispatchAdapterTests
- Change namespace for IDispatchTests
- Minor source cleaning in COM type descriptor code
- Throw with OleCreatePropertyFrame as we used to.
- Use ComHelpers for one missed IPerPropertyBrowsing usage in Com2IPerPropertyBrowsingEnum
- Don't create in VARIANT for ExecuteBuilder call in COM2PropertyBuilderUITypeEditor (validated with all implementations in VS and Windows)
- Com2PropertyDescriptor.SetValue should store the object not the VARIANT in last value and should free the VARIANT
- Remove IErrorInfo wrapper and use the API directly
- Use VARIANT method to get object in ProcessTypeInfoEnum
- Add a simple test to validate interop behavior for int/uint and add comment to VARIANT
@JeremyKuhne JeremyKuhne requested a review from a team as a code owner August 28, 2023 21:24
@ghost ghost assigned JeremyKuhne Aug 28, 2023
@JeremyKuhne JeremyKuhne merged commit 3cd4548 into dotnet:release/8.0 Aug 31, 2023
@JeremyKuhne JeremyKuhne deleted the port9776 branch August 31, 2023 02:14
@ghost ghost locked as resolved and limited conversation to collaborators Sep 30, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants