public static DiagnosticsNativeMethods.CriticalTraceRegistrationHandle RegisterTrace(Guid provider, ref DiagnosticsNativeMethods.TraceGuidRegistration guidRegistration, DiagnosticsNativeMethods.ControlCallback callback) { DiagnosticsNativeMethods.CriticalTraceRegistrationHandle criticalTraceRegistrationHandle = new DiagnosticsNativeMethods.CriticalTraceRegistrationHandle(); long handle; int num = DiagnosticsNativeMethods.CriticalTraceRegistrationHandle.RegisterTraceGuids(callback, IntPtr.Zero, ref provider, 1, ref guidRegistration, null, null, out handle); if (num != 0) { throw new Win32Exception(num); } criticalTraceRegistrationHandle.Initialize(callback, handle); return(criticalTraceRegistrationHandle); }
private static extern int RegisterTraceGuids([In] DiagnosticsNativeMethods.ControlCallback callback, [In] IntPtr context, [In] ref Guid controlGuid, [In] int guidCount, [In] ref DiagnosticsNativeMethods.TraceGuidRegistration guidRegistration, [In] string mofImagePath, [In] string mofResourceName, out long registrationHandle);