Repository navigation
[BUG]: Virtual endpoints unusable on build 26100.8875 (KB5101650) #1047
Copy link
Copy link
Closed
Labels
bug 🐞Something isn't workingSomething isn't workingfixed-awaiting-public-release 🕙Fixed in our internal builds. Waiting to make its way to a public release.Fixed in our internal builds. Waiting to make its way to a public release.fixed-windows-release-q4-2026-q1-2027Fixed in a release between Nov 2026 and end of Q1 2027.Fixed in a release between Nov 2026 and end of Q1 2027.
Description
Report pre-requisites
- I have searched this repo for existing issues to confirm this is not a duplicate
- I agree to follow this project's Code of Conduct
Clarity and Disclosure
- I confirm that any AI analysis included in this report is clearly called out / tagged as AI-generated with "AI Generated Content". Reports with suspected AI content may be closed if not disclosed.
- I confirm that I will quickly follow-up to questions or requests for additional detail, otherwise the issue may be closed
Windows Version
Windows 11 Pro 25H2
Type of bug
- Windows doesn't recognize MIDI device (doesn't show in device manager)
- Application doesn't recognize MIDI device or ports
- Cannot update firmware on MIDI device (specify device, app, and firmware info)
- MIDI device is recognized, but cannot send or receive messages
- Sent or received MIDI messages are corrupted
- Application not working as expected
- MIDI 1.0 ports not named as expected
- Performance not as expected
- Localization issue (incorrect or missing language for Windows running something other than en-US)
- General application crash or hang
- MIDI Service crash or hang requiring Windows reboot
- Windows bugcheck / BSOD (please include in the areas below the device id from Windows Settings About page or a link to your crash dump uploaded to a sharing service)
- Other or Unsure (please indicate in additional notes section below)
Location
- Application using WinMM MIDI 1.0 (Classic API). Name provided below.
- Application using WinRT MIDI 1.0 (Windows 10 MIDI). Name provided below.
- Application using Windows MIDI Services SDK (MIDI 2.0). Name provided below.
- Other app/DAW/tool. Not sure about which API or SDK it uses. Name provided below.
- Windows MIDI Services tools like MIDI Settings, Console, etc.
- Directly in Windows MIDI Services SDK (for Developers only, please provide repro code)
- General Windows shell (Device Manager, Settings, Services, etc.). Name provided below.
- Windows MIDI 2.0 Class Driver (usbmidi2-acx)
- Windows MIDI 1.0 Class Driver (usbaudio)
- Vendor-provided MIDI driver (please provide details below)
- Other or Unsure (please indicate in additional notes section below)
Application Name and Version
No response
MIDI Device Name
No response
Output from the MIDI Diagnostics Tool
Note: This output is from the working configuration after rolling back KB5101650. Please let me know if you want me to reinstall the broken update and query again.
========================================================================================================================
header
========================================================================================================================
This tool is part of the Windows MIDI Services SDK and tools
Copyright 2026- Microsoft Corporation.
Information, license, and source available at https://aka.ms/midi
Microsoft Windows MIDI Services - Diagnostics Report
ver_build_source : GitHub Preview
ver_build_name : SDK Release Candidate 2
ver_build_full : 1.0.15-rc.2.18
========================================================================================================================
os
========================================================================================================================
os_version : 10.0.26200
========================================================================================================================
processor_env
========================================================================================================================
PROCESSOR_ARCHITECTURE : AMD64
PROCESSOR_IDENTIFIER : Intel64 Family 6 Model 141 Stepping 1, GenuineIntel
PROCESSOR_LEVEL : 6
PROCESSOR_REVISION : 8d01
========================================================================================================================
native_system_info
========================================================================================================================
processor_architecture : 64-bit Intel/AMD
processor_level : 6
processor_revision : 0x8d01
------------------------------------------------------------------------------------------------------------------------
running_emulated : Native Intel/AMD x64 on x64 PC (Not Emulated)
------------------------------------------------------------------------------------------------------------------------
timecaps_min_period : 1
timecaps_max_period : 1000000
timer_resolution_min : 0.500 ms
timer_resolution_max : 15.625 ms
timer_resolution_current : 15.625 ms
========================================================================================================================
dev_mode
========================================================================================================================
dev_mode_enabled : true
========================================================================================================================
reg_drivers32
========================================================================================================================
reg_drivers32_entry : midi = wdmaud.drv
reg_drivers32_entry : MidisrvTransferComplete = 1
reg_drivers32_entry : midi1 = wdmaud2.drv
========================================================================================================================
enum_winrt_midi1_api_input_ports
========================================================================================================================
endpoint_device_id : \\?\SWD#MMDEVAPI#MIDIU_LOOP_A_DEFAULT_0_0#{504be32c-ccf6-4d2c-b73f-6f8b3747e22b}
name : Default App Loopback (A)
------------------------------------------------------------------------------------------------------------------------
endpoint_device_id : \\?\SWD#MMDEVAPI#MIDIU_LOOP_B_DEFAULT_0_0#{504be32c-ccf6-4d2c-b73f-6f8b3747e22b}
name : Default App Loopback (B)
========================================================================================================================
enum_winrt_midi1_api_output_ports
========================================================================================================================
endpoint_device_id : \\?\SWD#MMDEVAPI#MicrosoftGSWavetableSynth#{6dc23320-ab33-4ce4-80d4-bbb3ebbf2814}
name : Microsoft GS Wavetable Synth
------------------------------------------------------------------------------------------------------------------------
endpoint_device_id : \\?\SWD#MMDEVAPI#MIDIU_LOOP_A_DEFAULT_1_0#{6dc23320-ab33-4ce4-80d4-bbb3ebbf2814}
name : Default App Loopback (A)
------------------------------------------------------------------------------------------------------------------------
endpoint_device_id : \\?\SWD#MMDEVAPI#MIDIU_LOOP_B_DEFAULT_1_0#{6dc23320-ab33-4ce4-80d4-bbb3ebbf2814}
name : Default App Loopback (B)
========================================================================================================================
enum_winmm_midi1_api_input_ports
========================================================================================================================
endpoint_count : 2
------------------------------------------------------------------------------------------------------------------------
endpoint_index : 0
name : Default App Loopback (A)
------------------------------------------------------------------------------------------------------------------------
endpoint_index : 1
name : Default App Loopback (B)
------------------------------------------------------------------------------------------------------------------------
dev_caps_error_count : 0
========================================================================================================================
enum_winmm_midi1_api_output_ports
========================================================================================================================
endpoint_count : 3
------------------------------------------------------------------------------------------------------------------------
endpoint_index : 0
name : Microsoft GS Wavetable Synth
------------------------------------------------------------------------------------------------------------------------
endpoint_index : 1
name : Default App Loopback (A)
------------------------------------------------------------------------------------------------------------------------
endpoint_index : 2
name : Default App Loopback (B)
------------------------------------------------------------------------------------------------------------------------
dev_caps_error_count : 0
========================================================================================================================
enum_registry
========================================================================================================================
reg_current_config : WindowsMidiServices.midiconfig.json
reg_discovery_enabled : true
reg_discovery_timeout_ms : Not present
reg_use_mmcss : Not present
------------------------------------------------------------------------------------------------------------------------
reg_midisrv_exe : %systemroot%\system32\midisrv.exe
------------------------------------------------------------------------------------------------------------------------
reg_sdk_installed : C:\Program Files\Windows MIDI Services\Desktop App SDK Runtime\
------------------------------------------------------------------------------------------------------------------------
reg_transport_name : (Midisrv Transport)
reg_transport_clsid : {2BA15E4E-5417-4A66-85B8-2B2260EFBC84}
reg_transport_dll : C:\Windows\System32\Midi2.MidiSrvTransport.dll
file_version : 1.0.15.0
------------------------------------------------------------------------------------------------------------------------
reg_transport_name : (Diagnostics Transport)
reg_transport_clsid : {ac9b5417-3fe0-4e62-960f-034ee4235a1a}
reg_transport_dll : C:\Windows\System32\Midi2.DiagnosticsTransport.dll
file_version : 1.0.15.0
------------------------------------------------------------------------------------------------------------------------
reg_transport_name : Midi2KSAggregateTransport
reg_transport_clsid : {0f273b18-e372-4d95-87ac-c31c3d22e937}
reg_transport_enabled : true
reg_transport_dll : C:\Windows\System32\Midi2.KSAggregateTransport.dll
file_version : 1.0.16.1
------------------------------------------------------------------------------------------------------------------------
reg_transport_name : Midi2KSTransport
reg_transport_clsid : {26FA740D-469C-4D33-BEB1-3885DE7D6DF1}
reg_transport_enabled : true
reg_transport_dll : C:\Windows\System32\Midi2.KSTransport.dll
file_version : 1.0.15.0
------------------------------------------------------------------------------------------------------------------------
reg_transport_name : Midi2LoopbackMidiTransport
reg_transport_clsid : {942BF02D-93C0-4EA8-B03E-D51156CA75E1}
reg_transport_enabled : true
reg_transport_dll : C:\Windows\System32\Midi2.LoopbackMidiTransport.dll
file_version : 1.0.15.0
------------------------------------------------------------------------------------------------------------------------
reg_transport_name : Midi2VirtualMidiTransport
reg_transport_clsid : {8feaad91-70e1-4a19-997a-377720a719c1}
reg_transport_enabled : true
reg_transport_dll : C:\Windows\System32\Midi2.VirtualMidiTransport.dll
file_version : 1.0.15.0
------------------------------------------------------------------------------------------------------------------------
========================================================================================================================
sdk_runtime_status
========================================================================================================================
sdk_runtime_initialized : true
========================================================================================================================
service_status
========================================================================================================================
available : true
========================================================================================================================
midi_clock
========================================================================================================================
clock_frequency : 10000000
clock_now : 25961014781
========================================================================================================================
enum_transports
========================================================================================================================
transport_id : {8FEAAD91-70E1-4A19-997A-377720A719C1}
name : Virtual Midi
transport_code : APP
version : 1.0.15.0
author : Microsoft Corporation
description : Provides virtual device (app-to-app MIDI) support for MIDI 2.0
------------------------------------------------------------------------------------------------------------------------
transport_id : {AC9B5417-3FE0-4E62-960F-034EE4235A1A}
name : Diagnostics Endpoints
transport_code : DIAG
version : 1.0.15.0
author : Microsoft Corporation
description : Provides the built-in diagnostics loopback and diagnostics ping endpoints for MIDI 2.0
------------------------------------------------------------------------------------------------------------------------
transport_id : {942BF02D-93C0-4EA8-B03E-D51156CA75E1}
name : Loopback MIDI
transport_code : LOOP
version : 1.0.15.0
author : Microsoft Corporation
description : Provides simple loopback app-to-app MIDI support
------------------------------------------------------------------------------------------------------------------------
transport_id : {26FA740D-469C-4D33-BEB1-3885DE7D6DF1}
name : Kernel Streaming MIDI for UMP Drivers
transport_code : KS
version : 1.0.15.0
author : Microsoft Corporation
description : Provides Kernel Streaming (KS) support for USB MIDI 1.0 and USB MIDI 2.0 using the new MIDI 2.0/UMP class driver.
------------------------------------------------------------------------------------------------------------------------
transport_id : {0F273B18-E372-4D95-87AC-C31C3D22E937}
name : Kernel Streaming Aggregate (KSA) MIDI
transport_code : KSA
version : 1.0.15.0
author : Microsoft Corporation
description : Provides Kernel Streaming (KSA) support for USB MIDI 1.0 kernel streaming drivers aggregated into a UMP endpoint.
------------------------------------------------------------------------------------------------------------------------
========================================================================================================================
enum_ump_api_endpoints
========================================================================================================================
endpoint_device_id : \\?\swd#midisrv#midiu_loop_a_default#{e7cce071-3c03-423f-88d3-f1045d02552b}
name : Default App Loopback (A)
transport_code : LOOP
name_user_supplied : Default App Loopback (A)
name_endpoint_supplied :
name_transport_supplied : Default App Loopback (A)
desc_transport_supplied :
desc_user_supplied : Default loopback endpoint for use by applications. This is the A-side of the loopback pair.
gtb_number : 1
gtb_name : Default App Loopback (A)
gtb_first_group_number : 1
gtb_group_count : 1
gtb_direction : Message Destination
gtb_number : 1
gtb_name : Default App Loopback (A)
gtb_first_group_number : 1
gtb_group_count : 1
gtb_direction : Message Source
midi_out_port : 1: Default App Loopback (A)
midi_in_port : 0: Default App Loopback (A)
parent_id : SWD\MIDISRV\MIDIU_LOOP_TRANSPORT
parent_name : MIDI 2.0 Loop Devices
------------------------------------------------------------------------------------------------------------------------
endpoint_device_id : \\?\swd#midisrv#midiu_loop_b_default#{e7cce071-3c03-423f-88d3-f1045d02552b}
name : Default App Loopback (B)
transport_code : LOOP
name_user_supplied : Default App Loopback (B)
name_endpoint_supplied :
name_transport_supplied : Default App Loopback (B)
desc_transport_supplied :
desc_user_supplied : Default loopback endpoint for use by applications. This is the B-side of the loopback pair.
gtb_number : 1
gtb_name : Default App Loopback (B)
gtb_first_group_number : 1
gtb_group_count : 1
gtb_direction : Message Destination
gtb_number : 1
gtb_name : Default App Loopback (B)
gtb_first_group_number : 1
gtb_group_count : 1
gtb_direction : Message Source
midi_out_port : 2: Default App Loopback (B)
midi_in_port : 1: Default App Loopback (B)
parent_id : SWD\MIDISRV\MIDIU_LOOP_TRANSPORT
parent_name : MIDI 2.0 Loop Devices
------------------------------------------------------------------------------------------------------------------------
endpoint_device_id : \\?\swd#midisrv#midiu_diag_loopback_a#{e7cce071-3c03-423f-88d3-f1045d02552b}
name : Service Test Loopback A
transport_code : DIAG
name_user_supplied :
name_endpoint_supplied :
name_transport_supplied : Service Test Loopback A
desc_transport_supplied : Diagnostics loopback endpoint. For testing and development purposes.
desc_user_supplied :
parent_id : SWD\MIDISRV\MIDIU_DIAG_TRANSPORT
parent_name : MIDI 2.0 Service Tests
------------------------------------------------------------------------------------------------------------------------
endpoint_device_id : \\?\swd#midisrv#midiu_diag_loopback_b#{e7cce071-3c03-423f-88d3-f1045d02552b}
name : Service Test Loopback B
transport_code : DIAG
name_user_supplied :
name_endpoint_supplied :
name_transport_supplied : Service Test Loopback B
desc_transport_supplied : Diagnostics loopback endpoint. For testing and development purposes.
desc_user_supplied :
parent_id : SWD\MIDISRV\MIDIU_DIAG_TRANSPORT
parent_name : MIDI 2.0 Service Tests
------------------------------------------------------------------------------------------------------------------------
endpoint_device_id : \\?\swd#midisrv#midiu_diag_ping#{e7cce071-3c03-423f-88d3-f1045d02552b}
name : Service Test Ping (Internal)
transport_code : DIAG
name_user_supplied :
name_endpoint_supplied :
name_transport_supplied : Service Test Ping (Internal)
desc_transport_supplied : Internal UMP Ping endpoint. Do not send messages to this endpoint.
desc_user_supplied :
parent_id : SWD\MIDISRV\MIDIU_DIAG_TRANSPORT
parent_name : MIDI 2.0 Service Tests
========================================================================================================================
ping_test
========================================================================================================================
ping_attempt_count : 10
ping_return_count : 10
round_trip_total_ticks : 4866
round_trip_average_ticks : 486
========================================================================================================================
*** Successful Run ***
========================================================================================================================
========================================================================================================================
end_of_file
========================================================================================================================
PS C:\WINDOWS\system32> mididiag
========================================================================================================================
header
========================================================================================================================
This tool is part of the Windows MIDI Services SDK and tools
Copyright 2026- Microsoft Corporation.
Information, license, and source available at https://aka.ms/midi
Microsoft Windows MIDI Services - Diagnostics Report
ver_build_source : GitHub Preview
ver_build_name : SDK Release Candidate 2
ver_build_full : 1.0.15-rc.2.18
========================================================================================================================
os
========================================================================================================================
os_version : 10.0.26200
========================================================================================================================
processor_env
========================================================================================================================
PROCESSOR_ARCHITECTURE : AMD64
PROCESSOR_IDENTIFIER : Intel64 Family 6 Model 141 Stepping 1, GenuineIntel
PROCESSOR_LEVEL : 6
PROCESSOR_REVISION : 8d01
========================================================================================================================
native_system_info
========================================================================================================================
processor_architecture : 64-bit Intel/AMD
processor_level : 6
processor_revision : 0x8d01
------------------------------------------------------------------------------------------------------------------------
running_emulated : Native Intel/AMD x64 on x64 PC (Not Emulated)
------------------------------------------------------------------------------------------------------------------------
timecaps_min_period : 1
timecaps_max_period : 1000000
timer_resolution_min : 0.500 ms
timer_resolution_max : 15.625 ms
timer_resolution_current : 15.625 ms
========================================================================================================================
dev_mode
========================================================================================================================
dev_mode_enabled : true
========================================================================================================================
reg_drivers32
========================================================================================================================
reg_drivers32_entry : midi = wdmaud.drv
reg_drivers32_entry : MidisrvTransferComplete = 1
reg_drivers32_entry : midi1 = wdmaud2.drv
========================================================================================================================
enum_winrt_midi1_api_input_ports
========================================================================================================================
endpoint_device_id : \\?\SWD#MMDEVAPI#MIDIU_LOOP_A_DEFAULT_0_0#{504be32c-ccf6-4d2c-b73f-6f8b3747e22b}
name : Default App Loopback (A)
------------------------------------------------------------------------------------------------------------------------
endpoint_device_id : \\?\SWD#MMDEVAPI#MIDIU_LOOP_B_DEFAULT_0_0#{504be32c-ccf6-4d2c-b73f-6f8b3747e22b}
name : Default App Loopback (B)
========================================================================================================================
enum_winrt_midi1_api_output_ports
========================================================================================================================
endpoint_device_id : \\?\SWD#MMDEVAPI#MicrosoftGSWavetableSynth#{6dc23320-ab33-4ce4-80d4-bbb3ebbf2814}
name : Microsoft GS Wavetable Synth
------------------------------------------------------------------------------------------------------------------------
endpoint_device_id : \\?\SWD#MMDEVAPI#MIDIU_LOOP_A_DEFAULT_1_0#{6dc23320-ab33-4ce4-80d4-bbb3ebbf2814}
name : Default App Loopback (A)
------------------------------------------------------------------------------------------------------------------------
endpoint_device_id : \\?\SWD#MMDEVAPI#MIDIU_LOOP_B_DEFAULT_1_0#{6dc23320-ab33-4ce4-80d4-bbb3ebbf2814}
name : Default App Loopback (B)
========================================================================================================================
enum_winmm_midi1_api_input_ports
========================================================================================================================
endpoint_count : 2
------------------------------------------------------------------------------------------------------------------------
endpoint_index : 0
name : Default App Loopback (A)
------------------------------------------------------------------------------------------------------------------------
endpoint_index : 1
name : Default App Loopback (B)
------------------------------------------------------------------------------------------------------------------------
dev_caps_error_count : 0
========================================================================================================================
enum_winmm_midi1_api_output_ports
========================================================================================================================
endpoint_count : 3
------------------------------------------------------------------------------------------------------------------------
endpoint_index : 0
name : Microsoft GS Wavetable Synth
------------------------------------------------------------------------------------------------------------------------
endpoint_index : 1
name : Default App Loopback (A)
------------------------------------------------------------------------------------------------------------------------
endpoint_index : 2
name : Default App Loopback (B)
------------------------------------------------------------------------------------------------------------------------
dev_caps_error_count : 0
========================================================================================================================
enum_registry
========================================================================================================================
reg_current_config : WindowsMidiServices.midiconfig.json
reg_discovery_enabled : true
reg_discovery_timeout_ms : Not present
reg_use_mmcss : Not present
------------------------------------------------------------------------------------------------------------------------
reg_midisrv_exe : %systemroot%\system32\midisrv.exe
------------------------------------------------------------------------------------------------------------------------
reg_sdk_installed : C:\Program Files\Windows MIDI Services\Desktop App SDK Runtime\
------------------------------------------------------------------------------------------------------------------------
reg_transport_name : (Midisrv Transport)
reg_transport_clsid : {2BA15E4E-5417-4A66-85B8-2B2260EFBC84}
reg_transport_dll : C:\Windows\System32\Midi2.MidiSrvTransport.dll
file_version : 1.0.15.0
------------------------------------------------------------------------------------------------------------------------
reg_transport_name : (Diagnostics Transport)
reg_transport_clsid : {ac9b5417-3fe0-4e62-960f-034ee4235a1a}
reg_transport_dll : C:\Windows\System32\Midi2.DiagnosticsTransport.dll
file_version : 1.0.15.0
------------------------------------------------------------------------------------------------------------------------
reg_transport_name : Midi2KSAggregateTransport
reg_transport_clsid : {0f273b18-e372-4d95-87ac-c31c3d22e937}
reg_transport_enabled : true
reg_transport_dll : C:\Windows\System32\Midi2.KSAggregateTransport.dll
file_version : 1.0.16.1
------------------------------------------------------------------------------------------------------------------------
reg_transport_name : Midi2KSTransport
reg_transport_clsid : {26FA740D-469C-4D33-BEB1-3885DE7D6DF1}
reg_transport_enabled : true
reg_transport_dll : C:\Windows\System32\Midi2.KSTransport.dll
file_version : 1.0.15.0
------------------------------------------------------------------------------------------------------------------------
reg_transport_name : Midi2LoopbackMidiTransport
reg_transport_clsid : {942BF02D-93C0-4EA8-B03E-D51156CA75E1}
reg_transport_enabled : true
reg_transport_dll : C:\Windows\System32\Midi2.LoopbackMidiTransport.dll
file_version : 1.0.15.0
------------------------------------------------------------------------------------------------------------------------
reg_transport_name : Midi2VirtualMidiTransport
reg_transport_clsid : {8feaad91-70e1-4a19-997a-377720a719c1}
reg_transport_enabled : true
reg_transport_dll : C:\Windows\System32\Midi2.VirtualMidiTransport.dll
file_version : 1.0.15.0
------------------------------------------------------------------------------------------------------------------------
========================================================================================================================
sdk_runtime_status
========================================================================================================================
sdk_runtime_initialized : true
========================================================================================================================
service_status
========================================================================================================================
available : true
========================================================================================================================
midi_clock
========================================================================================================================
clock_frequency : 10000000
clock_now : 26472723896
========================================================================================================================
enum_transports
========================================================================================================================
transport_id : {8FEAAD91-70E1-4A19-997A-377720A719C1}
name : Virtual Midi
transport_code : APP
version : 1.0.15.0
author : Microsoft Corporation
description : Provides virtual device (app-to-app MIDI) support for MIDI 2.0
------------------------------------------------------------------------------------------------------------------------
transport_id : {AC9B5417-3FE0-4E62-960F-034EE4235A1A}
name : Diagnostics Endpoints
transport_code : DIAG
version : 1.0.15.0
author : Microsoft Corporation
description : Provides the built-in diagnostics loopback and diagnostics ping endpoints for MIDI 2.0
------------------------------------------------------------------------------------------------------------------------
transport_id : {942BF02D-93C0-4EA8-B03E-D51156CA75E1}
name : Loopback MIDI
transport_code : LOOP
version : 1.0.15.0
author : Microsoft Corporation
description : Provides simple loopback app-to-app MIDI support
------------------------------------------------------------------------------------------------------------------------
transport_id : {26FA740D-469C-4D33-BEB1-3885DE7D6DF1}
name : Kernel Streaming MIDI for UMP Drivers
transport_code : KS
version : 1.0.15.0
author : Microsoft Corporation
description : Provides Kernel Streaming (KS) support for USB MIDI 1.0 and USB MIDI 2.0 using the new MIDI 2.0/UMP class driver.
------------------------------------------------------------------------------------------------------------------------
transport_id : {0F273B18-E372-4D95-87AC-C31C3D22E937}
name : Kernel Streaming Aggregate (KSA) MIDI
transport_code : KSA
version : 1.0.15.0
author : Microsoft Corporation
description : Provides Kernel Streaming (KSA) support for USB MIDI 1.0 kernel streaming drivers aggregated into a UMP endpoint.
------------------------------------------------------------------------------------------------------------------------
========================================================================================================================
enum_ump_api_endpoints
========================================================================================================================
endpoint_device_id : \\?\swd#midisrv#midiu_loop_a_default#{e7cce071-3c03-423f-88d3-f1045d02552b}
name : Default App Loopback (A)
transport_code : LOOP
name_user_supplied : Default App Loopback (A)
name_endpoint_supplied :
name_transport_supplied : Default App Loopback (A)
desc_transport_supplied :
desc_user_supplied : Default loopback endpoint for use by applications. This is the A-side of the loopback pair.
gtb_number : 1
gtb_name : Default App Loopback (A)
gtb_first_group_number : 1
gtb_group_count : 1
gtb_direction : Message Destination
gtb_number : 1
gtb_name : Default App Loopback (A)
gtb_first_group_number : 1
gtb_group_count : 1
gtb_direction : Message Source
midi_out_port : 1: Default App Loopback (A)
midi_in_port : 0: Default App Loopback (A)
parent_id : SWD\MIDISRV\MIDIU_LOOP_TRANSPORT
parent_name : MIDI 2.0 Loop Devices
------------------------------------------------------------------------------------------------------------------------
endpoint_device_id : \\?\swd#midisrv#midiu_loop_b_default#{e7cce071-3c03-423f-88d3-f1045d02552b}
name : Default App Loopback (B)
transport_code : LOOP
name_user_supplied : Default App Loopback (B)
name_endpoint_supplied :
name_transport_supplied : Default App Loopback (B)
desc_transport_supplied :
desc_user_supplied : Default loopback endpoint for use by applications. This is the B-side of the loopback pair.
gtb_number : 1
gtb_name : Default App Loopback (B)
gtb_first_group_number : 1
gtb_group_count : 1
gtb_direction : Message Destination
gtb_number : 1
gtb_name : Default App Loopback (B)
gtb_first_group_number : 1
gtb_group_count : 1
gtb_direction : Message Source
midi_out_port : 2: Default App Loopback (B)
midi_in_port : 1: Default App Loopback (B)
parent_id : SWD\MIDISRV\MIDIU_LOOP_TRANSPORT
parent_name : MIDI 2.0 Loop Devices
------------------------------------------------------------------------------------------------------------------------
endpoint_device_id : \\?\swd#midisrv#midiu_diag_loopback_a#{e7cce071-3c03-423f-88d3-f1045d02552b}
name : Service Test Loopback A
transport_code : DIAG
name_user_supplied :
name_endpoint_supplied :
name_transport_supplied : Service Test Loopback A
desc_transport_supplied : Diagnostics loopback endpoint. For testing and development purposes.
desc_user_supplied :
parent_id : SWD\MIDISRV\MIDIU_DIAG_TRANSPORT
parent_name : MIDI 2.0 Service Tests
------------------------------------------------------------------------------------------------------------------------
endpoint_device_id : \\?\swd#midisrv#midiu_diag_loopback_b#{e7cce071-3c03-423f-88d3-f1045d02552b}
name : Service Test Loopback B
transport_code : DIAG
name_user_supplied :
name_endpoint_supplied :
name_transport_supplied : Service Test Loopback B
desc_transport_supplied : Diagnostics loopback endpoint. For testing and development purposes.
desc_user_supplied :
parent_id : SWD\MIDISRV\MIDIU_DIAG_TRANSPORT
parent_name : MIDI 2.0 Service Tests
------------------------------------------------------------------------------------------------------------------------
endpoint_device_id : \\?\swd#midisrv#midiu_diag_ping#{e7cce071-3c03-423f-88d3-f1045d02552b}
name : Service Test Ping (Internal)
transport_code : DIAG
name_user_supplied :
name_endpoint_supplied :
name_transport_supplied : Service Test Ping (Internal)
desc_transport_supplied : Internal UMP Ping endpoint. Do not send messages to this endpoint.
desc_user_supplied :
parent_id : SWD\MIDISRV\MIDIU_DIAG_TRANSPORT
parent_name : MIDI 2.0 Service Tests
========================================================================================================================
ping_test
========================================================================================================================
ping_attempt_count : 10
ping_return_count : 10
round_trip_total_ticks : 4290
round_trip_average_ticks : 429
========================================================================================================================
*** Successful Run ***
========================================================================================================================
========================================================================================================================
end_of_file
========================================================================================================================
Repro
- I confirm that I was able to reproduce this issue using a simple app like
midi.exe,midi1monitor.exeorPocket MIDI - I tried but was unable to reproduce this issue using a simple application
Steps to reproduce
- Run the app-to-app sample.
- Terminate it by closing the terminal after the "Received UMP" message shows
- Run the app-to-app sample again.
--> Stuck on "Creating session…", and every other session-creating client hangs the same way until midisrv.exe is force-killed or the machine is rebooted.
Expected behavior
The terminal shows the "Received UMP" message the second time the app is run
Additional notes
- Windows 11 25H2, build 26200.8875 (in-box
microsoft-windows-devices-midi2component 26100.8875). Reverting to 26100.8737 (June, pre-KB5101650) resolves it. - In-box Windows MIDI Services:
MidiSrv.exe+ transports serviced by Windows (Midi2.VirtualMidiTransport.dll, etc.). - Reproduces on App SDK client 1.0.15 / 1.0.16 / 1.0.17, C++/WinRT (MSVC 14.44 / 14.50).
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bug 🐞Something isn't workingSomething isn't workingfixed-awaiting-public-release 🕙Fixed in our internal builds. Waiting to make its way to a public release.Fixed in our internal builds. Waiting to make its way to a public release.fixed-windows-release-q4-2026-q1-2027Fixed in a release between Nov 2026 and end of Q1 2027.Fixed in a release between Nov 2026 and end of Q1 2027.
Activity
Psychlist1972 commentedon Jul 17, 2026
Thanks Tim. Internal ADO bug# 63135869
Pete
Microsoft
Shakes63 commentedon Aug 14, 2026
We're hitting what looks like the same underlying defect on a current 25H2 build with the in-box service, with enough differences in manifestation that the data seems worth adding: on this build the poisoned state is transient (~170s) and makes new SDK clients crash with
0xC0000409(fastfail) rather than hanging forever.Environment
C:\Windows\System32)Client init sequence (matches the app-to-app virtual device pattern):
MidiSession.Create→MidiVirtualDeviceManager.CreateVirtualDevice(config)→session.CreateEndpointConnection(device.DeviceEndpointDeviceId())→AddMessageProcessingPlugin(device)→Open(), for its virtual UMP endpoints (one bidirectional function block each, group 0).Trigger
Same as the OP: abnormally terminate a client that owns virtual UMP endpoints.
The trigger is probabilistic per kill: in two of three independent runs the first kill was survived (the next client initialized normally in ~320 ms); the poisoned state began within 1–2 kills every time.
While poisoned (~170 s window)
0xC0000409(fastfail) inucrtbase.dll, one WERApplication Error 1000per attempt:midi endpoint monitoragainst the diagnostics loopback crashes (unhandledObjectDisposedExceptiononSafeWaitHandleinEndpointMonitorCommandthreads; WER event, exception0xe0434352inKERNELBASE.dll).midi service pingcompletes normally,midi endpoint send-messageto the diag loopback sends fine, WinMMmidiInGetNumDevs/midiOutGetNumDevsanswers in ~27 ms, and endpoint enumeration works.midisrvPID never changes — the service does not crash or restart.Recovery
Spontaneous and strikingly consistent: still poisoned when probed at ~115 s after the trigger kill, fully recovered when probed at ~170 s — in both runs where we bracketed it (170.3 s and 170.7 s from kill to first successful init). That smells like an internal timeout finally releasing whatever the dead client's cleanup left held. After it expires, everything is normal with no service restart.
Sample timeline (times are local, WER events interleaved from the Application log):
What did NOT trigger it (negative results)
midi endpoint monitorclients: 12 kills at offsets from 200 ms to 3 s after launch — service stayed healthy.midi loopback createclients killed mid-transaction plus three monitors, five rounds — healthy.So it appears specific to cleanup of app-owned virtual devices after abnormal client termination, consistent with this issue and possibly #819.
Prior behavior on older service builds
For history: on the RC-era service (1.0.15/RC3 installer era, before this box moved to the in-box service), the identical trigger produced exactly what the OP describes — every subsequent session-creating client hung forever ("Creating session…"), and only killing the
midisrvPID recovered it. The in-box 26100.7705 service turned that permanent hang into the ~170 s crash-loop above. Better, but three minutes of crashing clients after any client crash/force-kill is rough in live-performance use.Happy to re-run this with ETW tracing, an instrumented build, or collect WER dumps — the repro is scripted and takes ~3 minutes per run on this machine.
Psychlist1972 commentedon Aug 15, 2026
Shakes63 Yes, if you can run the midi log tracing from the MIDI Settings app Troubleshooting page while reproducing and then email me a link to OneDrive or some other location where you upload it, that would be helpful. I'm assuming all your service components are currently running the in-box versions from System32 and you are not using the latest developer in-box preview SDK with your app, but are using the rc4 SDK as you mentioned.
Email: pmbrown at microsoft dot com
There were a number of fastfails coming from using
wilexception handling macros without includingwil/cppwinrtfirst. This may be one of them, but the full ETL + TTD will help sort that out.Thanks.
Pete
Microsoft
vro3 commentedon Aug 16, 2026
Adding a corroborating report from a different client stack, same build, in case the
extra data points are useful.
AI Generated Content disclosure: this investigation and write-up were produced
with an AI assistant (Claude) operated by the account owner. All version numbers,
timings, log lines, and device IDs below are verbatim from the machine described.
Environment
ProductNamereads "Windows 10 Home", cosmetic).MidiSrv.exe10.0.26100.7705; in-boxMidi2.MidiSrvTransport.dll,Midi2.DiagnosticsTransport.dll,Midi2.VirtualMidiTransport.dllall 1.0.15.0.Microsoft.MIDI.SDK) andthen on 1.0.17-rc.4.25 (GitHub
rc-4), installed over it — matching your"reproduces on 1.0.15 / 1.0.16 / 1.0.17" note.
(MSVC 14.44.35207, Windows SDK 10.0.26100, C++/WinRT 2.0.250303.1), modelled on
samples/cpp-winrt/simple-app-to-app-midi. So this is not only the sample and notonly a plain console app — it reproduces from a very different host process too.
(visible as a
KSAendpoint). Disclosing it as an environment factor; the failuredoes not appear to need it, given your sample-only repro.
Sequence observed
worked once:
MidiVirtualDeviceManager::CreateVirtualDevicereturned in~370 ms, the endpoint appeared to WinMM as both an input and an output under
the declared name, and MIDI flowed both ways (sent
90 3C 64to apps, receivedB0 07 7Ffrom a WinMM app). Cleanclose()/ session close / process exit.CreateVirtualDeviceblocks. Measured > 4 s (ourguard) and > 5 minutes when left unguarded.
client after service start succeeds" is not reliably true here; sometimes the
service is already poisoned at boot.
Service state while wedged
With our app not running at all:
midi.exe service pingprintsPinging MIDI service N times...and then producesno further output, exiting 0.
mididiag.exereachesping_test/ping_attempt_count : 10andstops there.
midi.exe enum endpoints,midi.exe loopback create,midi.exe service status("Service MidiSrv is running"), and PnP/WinMM enumeration all still work — i.e.
config plane alive, message/session plane dead.
net stop MidiSrv(elevated) →STOP_PENDINGindefinitely.MidiSrvcrash, WER, error, or warning events at all — only MSI records from the SDK
installers and one SCM entry ("start type … changed from demand start to auto
start"). No fastfail on this build, unlike the
0xC0000409variant reported above.Two possibly-separate artefacts
An orphaned app endpoint survives reboots. After a
CreateVirtualDevicecallthat our client abandoned on timeout, this endpoint persisted across restarts:
It looks like the service completed the creation after the client gave up, leaving
a device with no owning session. Is there a supported way to remove one of these?
A WinMM port with a corrupted name appeared after
midi.exe loopback removeremoved one half of a loopback pair: enumerating WinMM outputs returned a name of
apparent garbage bytes (
Èš\x8Fáú\x7F) alongside the survivingMS Test B. Happyto file that separately if it is not part of this defect.
Offer
If it helps, I can run the MIDI log tracing from the MIDI Settings app →
Troubleshooting page while reproducing on this build, and send the trace. Just say
where to send it.
Also noting for anyone else who lands here:
taskkill /F /IM midisrv.exefrom anelevated prompt is a much cheaper recovery than rebooting, since
net stophangs.vro3 commentedon Aug 16, 2026
Two follow-ups from the same machine as my report above.
AI Generated Content disclosure: as before, this investigation and write-up were produced with an AI assistant (Claude) operated by the account owner. All build numbers, timings and command output below are verbatim/measured.
1. Still reproduces on 26200.9168
This box has since taken a Windows update and is now on 10.0.26200.9168 (the report above, and the original issue, were on 26200.8875). The behaviour is unchanged: after the service is restarted, the first client session can create a virtual device and use it, and every session-creating client after that blocks.
Measured on 9168, immediately after a fresh service start:
Flagging it in case the fix is expected to have ridden along in a servicing update before the November release — on this build it has not.
2.
taskkill /F /IM midisrv.exeis a working recovery, no reboot neededConfirming the hint in the original report, with the exact behaviour, since it saves a lot of time when testing:
After the force-kill the service starts again on demand and the next client gets a working virtual device (the 142 ms create above was immediately after doing this). So the cycle for anyone testing against this defect is: force-kill, get exactly one good client session, force-kill again — rather than one reboot per attempt.
I have not seen the service recover on its own once wedged, and it stays wedged across a normal reboot only in the sense that a fresh boot sometimes starts out already poisoned — on this machine a first-attempt-after-boot failure has happened, so "first client after boot always works" is not a reliable assumption.
Psychlist1972 commentedon Aug 16, 2026
vro3 Thanks. This will continue to repro until the fix goes out in Windows in November. No need to validate each update.
I fixed this just last night. (Correction: Claude fixed it :) )
Pete
Microsoft
vro3 commentedon Aug 16, 2026
Fix the fallout in Bram's log, add a MIDI service repair action
Remember the virtual-port failure for the rest of the Windows session
Log each SDK call in the virtual endpoint open sequence
Psychlist1972 commentedon Sep 14, 2026
Fully committed and merged to main in this repo. Will roll out in Windows 25h2+ during the end-of-November CFR (11D), and takes up to 45 days to be enabled on any PC which is fully up to date with Windows updates.
As a reminder, CFRs take up to 30 days to enable for anyone who installed the 11D updates. If you do not install the 11D updates, then the updates go out to everyone halfway through the following month, approximately 45 days later.
Pete
Microsoft
WMS: say virtual ports are not implemented, and correct the Windows v…
Add a Windows MIDI Services backend
WMS: say virtual ports are not implemented, and correct the Windows v…
Add a Windows MIDI Services backend