You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There would be a few options to lower the lines of code:
Generate every Guid, such as CLSID, IID, SID, PID and BHID from ROS and via MemoryMarshal.AsRef and also optionally generate Guid* as well as Guid for them above
Expose Guid (alternatively Guid*) property (IComIID.Guid) placed in the COM interfaces and do the same in COM classes too. This looks like generated from ROS<byte> already tho. AFAIK this isn't exposed because I couldn't access from my code.
publicstaticref readonly GuidCLSID_DesktopWallpaper=>refMemoryMarshal.AsRef<Guid>([0x00000000,0x00, ....]);// Additionally (optional), you could create a new NativeMethods.json Boolean property for this or name this the similar way like below and create this:publicstaticref readonly Guid*CLSID_DesktopWallpaper_AsPointer=>(Guid*)Unsafe.AsPointer(refUnsafe.AsRef(inCLSID_DesktopWallpaper));
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Background
I have been working with many COM interfaces and what I found it useful when the runtime marshaling is disabled is that CsWin32 generates Guid* too.
When I initialize a COM interface, I have to do:
Idea
There would be a few options to lower the lines of code:
References
What do you think?
Beta Was this translation helpful? Give feedback.
All reactions