static IntPtr GetValue(PROC_THREAD_ATTRIBUTE_NUM Number, bool Thread, bool Input, bool Additive) { int ret = (int)Number; if (Thread) { ret |= PROC_THREAD_ATTRIBUTE_THREAD; } if (Input) { ret |= PROC_THREAD_ATTRIBUTE_INPUT; } if (Additive) { ret |= PROC_THREAD_ATTRIBUTE_ADDITIVE; } return(new IntPtr(ret)); }
private static IntPtr ProcThreadAttributeValue(PROC_THREAD_ATTRIBUTE_NUM Number, bool Thread, bool Input, bool Additive) => (IntPtr)(((uint)Number & PROC_THREAD_ATTRIBUTE_NUMBER) | (Thread ? PROC_THREAD_ATTRIBUTE_THREAD : 0) | (Input ? PROC_THREAD_ATTRIBUTE_INPUT : 0) | (Additive ? PROC_THREAD_ATTRIBUTE_ADDITIVE : 0));