-
Notifications
You must be signed in to change notification settings - Fork 107
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
Project COM interop APIs #830
Conversation
responses to questions: Naming convention (Should the interop APIs live under a "Windows.Interop" namespace?) Projections of interfaces and helper classes are both public. We could consider making the projected interfaces internal to avoid confusion. Only supporting interop interfaces with UniversalApiContract (e.g. not Desktop extension APIs like IProtectionPolicyManagerInterop) Versioning by Windows version: could add contract version attributes to IDL definitions, which will project SupportedOSPlatform attribute |
Thank you everyone for all the helpful feedback! I am closing this PR for now and we will investigate the win32metadata approach, and adding support in C#/WinRT for IUnknown interfaces. Will open a separate PR using this feedback. |
Re-opening this PR, addressing the prior feedback and made the following updates:
|
A couple points here -
|
@manodasanW, adding you to review as this will be the pattern that we want to implement in Microsoft.Windows.SDK.NET.dll |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good enough now to provide as a template for the Windows SDK projection (which was the ultimate goal)
@manodasanW, @angelazhangmsft - automatic support for Windows SDK projection implemented - please review |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
awaiting others' approval
IWindowNative
andIInitiazlieWithWindow
. The generated projections of the interfaces are internal.This work will provide definitions for several COM interop interfaces through the Windows SDK projection, including:
WinRT.Interop.IWindowNative, WinRT.Interop.IInitializeWithWindow, Windows.Storage.Streams.IBufferByteAccess
and wrappers for all WinRT interop interfaces included in the Universal API Contract (e.g.Windows.Security.Credentials.UI.UserConsentVerifierInterop, Windows.UI.ApplicationSettings.AccountsSettingsPaneInterop
)