코드에 PortMidi이 몇 년 동안 사용되었습니다.
외부 MIDI 표면 컨트롤Mackie의 컨트롤을위한 휴대용 C++ 코드 작성에이 코드를 사용합니다.
PortMidi 최신 버전을 사용합니다 : 20101008
최근에 컨트롤이 Windows 10에서 과도하게 사용되면 교착 상태가 발생한다는 것을 알게되었습니다. 이것은 Windows 10에만 적용됩니다.
은 교착 상태에 다음 스레드가 걸린 경우 : 디버거를 사용
Windows 10에서 PortMidi의 교착 상태가 발생했습니다.
ntdll!ZwWaitForSingleObject
KERNELBASE!WaitForSingleObjectEx
wdmaud!CMIDIOutDevice::WriteEvent
wdmaud!CMIDIOutDevice::PlaySysEx
wdmaud!HwModMessage
wdmaud!dspsL
WINMMBASE!midiMessage
WINMMBASE!midiOutLongMsg
MIDICommunication!winmm_write_flush
MIDICommunication!Pm_WriteSysEx
는 그 코드가 이벤트 (안 잠금)을 기다리고 발견했다.
Windows 10의 PortMidi 문제 및/또는 해결 방법을 알고있는 사람이 있습니까?
많은 감사, 파스
Win10은 [문제가있는 것으로 알려져 있습니다] (https://stackoverflow.com/a/32553208/17034). 거짓말을하지 않았는지 확인하십시오. 잘못된 값을 전달하면 교착 상태가됩니다. –