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
Windows ML: ABI Execution Provider enumeration sample (#544)
* Windows ML: ABI Execution Provider enumeration sample
Add Windows ML sample demonstrating execution provider discovery and management
using direct ABI/COM interfaces with Microsoft.WindowsAppSDK.ML package.
Key features:
- Automatic ABI header generation via Microsoft.Windows.AbiWinRT
- Complete provider lifecycle management (discovery → preparation → registration)
- Event-driven async operations with progress reporting
- Modular architecture with reusable components
Technical implementation:
- Direct COM interface programming with Microsoft::WRL
- HANDLE-based async synchronization patterns
- Self-contained Windows App SDK deployment, but nothing here precludes framework-based deployments.
- Filtered metadata processing for Windows ML APIs
Components added:
- AbiUtils.h: HSTRING utilities and common helpers
- AsyncHandlers: Progress and completion event handlers
- ExecutionProvider: IExecutionProvider wrapper with state management
- ExecutionProviderCatalog: Provider discovery and enumeration
- ConsoleUI: Interactive user interface utilities
- Application: Lifecycle management and orchestration
This sample provides developers with
production-ready patterns for direct ABI access to Windows ML capabilities,
complementing existing C++/WinRT samples with a lower-level programming approach.
* Update Nuget package directory path and enhance error reporting in ExecutionProviderCatalog
|[CppResnetBuildDemo](cpp/CppResnetBuildDemo/)| ResNet model demo from the [Windows ML session](https://www.youtube.com/watch?v=AQjOq8qSsbE) at Build 2025 | Model conversion, EP compilation, detailed tutorial |
31
31
32
+
### C++ ABI Samples
33
+
34
+
| Sample | Description | Key Features |
35
+
|--------|-------------|--------------|
36
+
|[cpp-abi](cpp-abi/)| Direct ABI implementation using raw COM interfaces | Automatic ABI header generation, no projections |
0 commit comments