public static unsafe extern bool UpdateProcThreadAttribute( PROC_THREAD_ATTRIBUTE_LIST* lpAttributeList, uint dwFlags, ref uint Attribute, void* lpValue, IntPtr cbSize, // SIZE_T varies by bitness ref IntPtr lpPreviousValue, ref IntPtr lpReturnSize);
public static unsafe extern void DeleteProcThreadAttributeList( PROC_THREAD_ATTRIBUTE_LIST* lpAttributeList);
public static unsafe extern bool InitializeProcThreadAttributeList( PROC_THREAD_ATTRIBUTE_LIST* lpAttributeList, int dwAttributeCount, uint dwFlags, ref IntPtr lpSize); // SIZE_T (the size varies with the bitness)