示例#1
0
        public static bool RdmsrTx(uint index, out uint eax, out uint edx,
                                   ulong threadAffinityMask)
        {
            ulong mask = ThreadAffinity.Set(threadAffinityMask);

            bool result = Rdmsr(index, out eax, out edx);

            ThreadAffinity.Set(mask);
            return(result);
        }
示例#2
0
        public static bool CpuidTx(uint index, uint ecxValue,
                                   out uint eax, out uint ebx, out uint ecx, out uint edx,
                                   ulong threadAffinityMask)
        {
            ulong mask = ThreadAffinity.Set(threadAffinityMask);

            if (mask == 0)
            {
                eax = ebx = ecx = edx = 0;
                return(false);
            }

            Cpuid(index, ecxValue, out eax, out ebx, out ecx, out edx);

            ThreadAffinity.Set(mask);
            return(true);
        }