/// <summary> /// Converts the object type of a handle to UnifiedBlockingReason enum value. /// </summary> private static UnifiedBlockingReason ConvertToUnified(string objectType) { UnifiedBlockingReason result = UnifiedBlockingReason.Unknown; switch (objectType) { case "Thread": result = UnifiedBlockingReason.Thread; break; case "Job": result = UnifiedBlockingReason.Job; break; case "File": result = UnifiedBlockingReason.File; break; case "Semaphore": result = UnifiedBlockingReason.Semaphore; break; case "Mutex": result = UnifiedBlockingReason.Mutex; break; case "Section": result = UnifiedBlockingReason.CriticalSection; break; case "Mutant": result = UnifiedBlockingReason.Mutex; break; case "ALPC Port": result = UnifiedBlockingReason.Alpc; break; case "Process": result = UnifiedBlockingReason.ProcessWait; break; case "Unknown": result = UnifiedBlockingReason.Unknown; break; case "None": result = UnifiedBlockingReason.None; break; case "Timer": result = UnifiedBlockingReason.Timer; break; case "Event": result = UnifiedBlockingReason.Event; break; } return(result); }
/// <summary> /// Converts HandleType enum value to UnifiedBlockingReason enum value. /// </summary> private UnifiedBlockingReason ConvertToUnified(HandleInfo.HandleType type) { UnifiedBlockingReason result = UnifiedBlockingReason.Unknown; switch (type) { case HandleInfo.HandleType.NONE: result = UnifiedBlockingReason.None; break; case HandleInfo.HandleType.THREAD: result = UnifiedBlockingReason.ThreadWait; break; case HandleInfo.HandleType.MUTEX: result = UnifiedBlockingReason.Mutex; break; case HandleInfo.HandleType.PROCESS: result = UnifiedBlockingReason.ProcessWait; break; case HandleInfo.HandleType.EVENT: result = UnifiedBlockingReason.Event; break; case HandleInfo.HandleType.SECTION: result = UnifiedBlockingReason.MemorySection; break; } return(result); }