Это может быть несколько переработано из источника SSCLI20, хотя и датировано. Основной функцией CLR, которая реализует MsgWaitForMultipleHandles, является DoAppresponWait. Из того, что я вижу, он используется AutoResetEvent, ManualResetEvent и Semaphore, но Mutex не . Одна из странностей заключается в том, что WaitHandle.WaitAny в порядке из потока STA, но WaitAll () генерирует исключение. Да, это не задокументировано нигде, кроме нескольких подсказок в блоге Криса Брамма. Из того, что я нашел, вы не можете получить слишком много, проверьте это, чтобы убедиться.