예제 #1
0
        ///////////////////////////////////////////////////////////////////////////////////////////////

        private static ReturnCode WaitForMultipleHandles(
            WaitHandle[] waitHandles,
            int milliseconds,
            bool userInterface,
            ref uint returnValue
            )
        {
            ReturnCode code;
            Result     error = null;

            code = WaitForMultipleHandles(
                waitHandles, milliseconds, userInterface, ref returnValue,
                ref error);

            if (code != ReturnCode.Ok)
            {
                DebugOps.Complain(code, error);
            }

            if (traceWait)
            {
                TraceOps.DebugTrace(String.Format(
                                        "WaitForMultipleHandles: exited, waitHandles = {0}, " +
                                        "milliseconds = {1}, userInterface = {2}, " +
                                        "returnValue = {3}, code = {4}, error = {5}",
                                        FormatOps.DisplayWaitHandles(waitHandles), milliseconds,
                                        userInterface, returnValue, code, FormatOps.WrapOrNull(
                                            true, true, error)), typeof(WindowOps).Name,
                                    TracePriority.NativeDebug);
            }

            return(code);
        }