A reference for interoperability and modernization spanning Win32, COM, C++/WinRT, C#/WinRT, XAML Islands, WPF/WinForms, and UWP. It distills the APIs and procedures for embedding WinRT APIs or WinUI 3 content into existing Win32/WPF/WinForms/UWP assets, or for migrating from UWP to the Windows App SDK. Depending on the user's task, read the appropriate README.md and follow it to the individual files.
Directory Structure
skills/windows-interop-modernize/
SKILL.md
references/
win32-com/
README.md
com-create-instance.md
com-initialization.md
com-smart-pointers.md
create-window.md
cswin32.md
dialog-box.md
dpi-awareness.md
extended-window-styles.md
hresult-error-handling.md
iunknown.md
message-box.md
message-loop.md
pinvoke-csharp.md
register-window-class.md
win32-data-types.md
window-lifecycle.md
window-messages.md
window-procedure.md
window-styles.md
windows-rs.md
cppwinrt/
README.md
agile-objects.md
async-coroutines.md
author-apis.md
author-coclasses.md
boxing.md
collections.md
com-ptr-iinspectable.md
consume-apis.md
consume-com.md
error-handling.md
events-delegates.md
get-started.md
init-apartment.md
interop-abi.md
interop-winrt-cx.md
macros.md
move-to-winrt-from-csharp.md
move-to-winrt-from-cx.md
move-to-winrt-from-wrl.md
naming.md
native-interop.md
overview.md
pass-parms-to-abi.md
projection-headers.md
std-cpp-data-types.md
strings.md
use-csharp-component-from-cpp-winrt.md
weak-references.md
xaml-binding.md
xaml-cust-ctrl.md
csharp-winrt/
README.md
agile-objects.md
aot-trimming.md
api-availability-checks.md
async-operations.md
authoring-winrt-components.md
com-interop.md
dotnet-winrt-removal.md
net-mappings-of-winrt-types.md
net-projection-from-cppwinrt-component.md
overview.md
sdk-net-ref-targetframework.md
window-handle-interop.md
winrt-api-desktop-support.md
xaml-islands/
README.md
desktop-child-site-bridge.md
desktop-window-xaml-source.md
dpi-and-sizing.md
hosting-wpf-winforms-win32.md
input-focus-navigation.md
limitations.md
overview.md
uwp-vs-winui3-migration.md
windows-xaml-manager.md
wpf-winforms-interop/
README.md
copilot-modernization-guide.md
dotnet-upgrade-assistant.md
hwndhost-hwndsource.md
windows-app-sdk-existing-project.md
winforms-application-run.md
winforms-designer.md
winforms-form-control.md
winrt-apis-in-wpf-winforms.md
wpf-application.md
wpf-basic-controls.md
wpf-commanding.md
wpf-data-binding.md
wpf-dependency-property.md
wpf-routed-events.md
wpf-styles-templates.md
wpf-vs-winui3.md
wpf-window.md
wpf-winforms-hosting.md
wpf-xaml-overview.md
uwp-migration/
README.md
ai-assisted-migration.md
applifecycle-migration.md
background-task-migration.md
case-study-1-photolab.md
case-study-2-photo-editor.md
dwritecore-migration.md
feature-mapping.md
keyboard-events-migration.md
migration-overview.md
misc-migration-guidance.md
mrtcore-migration.md
namespace-mapping.md
overall-migration-strategy.md
push-notifications-migration.md
threading-migration.md
toast-notifications-migration.md
upgrade-assistant.md
what-is-supported.md
windowing-migration.md
winui3-ui-migration.md
Exploration Procedure
Derive the category from the task, and identify the target page in the category's README.md:
- Find the category corresponding to the task in the mapping table below
- For that category,
references/{category}/README.mdto identify the target page - Read the
.mdof the relevant page to check the details
Task → Category Mapping
| Task | Category | Reference README |
|---|---|---|
| I want to create a raw Win32 window with CreateWindowExW / WNDPROC / a message loop | win32-com | references/win32-com/README.md |
| I want to initialize, create, and manage reference counting for COM objects (CoInitializeEx, CoCreateInstance, IUnknown, ComPtr) | win32-com | references/win32-com/README.md |
| I want to call Win32 APIs from C# via CsWin32 / P/Invoke, or use windows-rs from Rust | win32-com | references/win32-com/README.md |
| I want to consume and author WinRT runtime classes in C++, and handle asynchronous operations and events | cppwinrt | references/cppwinrt/README.md |
| I want to create an API in IDL and implement ABI/native interoperability and error handling | cppwinrt | references/cppwinrt/README.md |
| I want to call WinRT APIs from C#, and understand TFM settings, asynchronous operations, and type mapping | csharp-winrt | references/csharp-winrt/README.md |
| I want to handle ComWrappers / AOT and trimming support, and create WinRT components | csharp-winrt | references/csharp-winrt/README.md |
| I want to host WinUI 3 XAML content in a WPF/WinForms/Win32 app | xaml-islands | references/xaml-islands/README.md |
| I want to handle focus, DPI, and size synchronization with DesktopWindowXamlSource / DesktopChildSiteBridge | xaml-islands | references/xaml-islands/README.md |
| I want to check the basic APIs of existing WPF / WinForms apps (Window, Application, DependencyProperty, data binding) | wpf-winforms-interop | references/wpf-winforms-interop/README.md |
| I want to mutually host WPF with WinForms / Win32 using HwndHost/HwndSource or WindowsFormsHost/ElementHost | wpf-winforms-interop | references/wpf-winforms-interop/README.md |
| I want to add the Windows App SDK to WPF/WinForms and call WinRT APIs | wpf-winforms-interop | references/wpf-winforms-interop/README.md |
| I want to know the overall strategy and namespace correspondence for migrating a UWP app to the Windows App SDK / WinUI 3 | uwp-migration | references/uwp-migration/README.md |
| I want to migrate UWP-specific APIs for window management, threading, notifications, and background tasks | uwp-migration | references/uwp-migration/README.md |
| I want to proceed with mechanical migration using the .NET Upgrade Assistant | uwp-migration | references/uwp-migration/README.md |
| I want to refer to the migration case studies of PhotoLab (C#) / Photo Editor (C++/WinRT), and automate migration with an AI coding agent | uwp-migration | references/uwp-migration/README.md |
This skill only covers interoperability and migration procedures among Win32, COM, C++/WinRT, C#/WinRT, XAML Islands, WPF/WinForms, and UWP. WinUI 3 control APIs themselves are handled by windows-winui-controls, layout, styling, and XAML syntax by windows-winui-ui, and Windows App SDK runtime features by windows-app-sdk.