Uh oh!
There was an error while loading. Please reload this page.
[cdac] Implement ISOSDacInterface::GetObjectData getting COM RCW/CCW - #105846
Conversation
Uh oh!
There was an error while loading. Please reload this page.
| struct cdac_data<InteropSyncBlockInfo> | ||
| { | ||
| #ifdef FEATURE_COMINTEROP | ||
| static constexpr size_t CCW = offsetof(InteropSyncBlockInfo, m_pCCW); |
There was a problem hiding this comment.
I assume this is only for built-in. Are we going to defer ComWrappers support for later? Same for RCW.
There was a problem hiding this comment.
Yeah. I deferred for later.
I went back and forth on object contract should have
GetComDatafor built-in andGetComWrappersDatafor ComWrappersGetComDatafor both built-in and ComWrappers- Separate functions for each (trying to thing of names was a struggle) - GetRCW/CCW (built-in), GetComWrappersRCW, GetComWrappersManagedObjectWrapperList
I ended up with (1) - definitely open to thoughts.
There was a problem hiding this comment.
What about if we call it "BuiltInComData" to match how our docs and current code talk about built-in COM vs ComWrappers?
Then in the future, the contract to pull data about built-in RCWs and CCWs could be called "BuiltInCom" and the ComWrappers one could be "ComWrappers".
There was a problem hiding this comment.
Renamed to GetBuiltInComData
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Co-authored-by: Aaron Robinson <arobins@microsoft.com>
SyncTableEntry,SyncBlock,InteropSyncBlockInfodata descriptors,SyncTableEntriesglobalObjectcontractGetComDatatoObjectcontractISOSDacInterface::GetObjectDatasuch that it populates the RCW/CCWContributes to #99302
Manually validated with a COM server and callback that the RCW/CCW were set when expected and matched values returned by DAC.
Ran SOS unit tests from diagnostics repo using private build.