RTDECL(PRTCPUSET) RTMpGetOnlineSet(PRTCPUSET pSet) { union { uint64_t u64; MPAFFINITY mpaff; } u; int rc = DosQueryThreadAffinity(AFNTY_SYSTEM, &u.mpaff); if (rc) u.u64 = 1; return RTCpuSetFromU64(pSet, u.u64); }
RTR3DECL(int) RTThreadGetAffinity(PRTCPUSET pCpuSet) { union { uint64_t u64; MPAFFINITY mpaff; } u; APIRET rc = DosQueryThreadAffinity(AFNTY_THREAD, &u.mpaff); if (!rc) { RTCpuSetFromU64(pCpuSet, u.u64); return VINF_SUCCESS; } return RTErrConvertFromOS2(rc); }