Esempio n. 1
0
        public int FormatMessage(int dwFlags, IntPtr lpSource, int dwMessageId, int dwLanguageId, ref IntPtr lpBuffer, int nSize, IntPtr arguments)
        {
            var stopwatch = Stopwatch.StartNew();
            var result    = AttachedObject.FormatMessage(dwFlags, lpSource, dwMessageId, dwLanguageId, ref lpBuffer, nSize, arguments);

            stopwatch.Stop();

            var callEvent = new PInvokeInt32CallCompletedTraceEvent
            {
                DllName    = Kernel32Dll,
                Duration   = stopwatch.Elapsed,
                MethodName = nameof(FormatMessage),
                Result     = result
            };

            callEvent.Args.Add(nameof(dwFlags), dwFlags);
            callEvent.Args.Add(nameof(lpSource), lpSource);
            callEvent.Args.Add(nameof(dwMessageId), dwMessageId);
            callEvent.Args.Add(nameof(dwLanguageId), dwLanguageId);
            callEvent.Args.Add(nameof(nSize), nSize);
            callEvent.Args.Add(nameof(arguments), arguments);

            callEvent.OutArgs.Add(nameof(lpBuffer), lpBuffer);

            LogVerbose(callEvent);
            return(result);
        }