예제 #1
0
        public virtual int checkFplID(int uid)
        {
            SceUidManager.checkUidPurpose(uid, "ThreadMan-Fpl", true);
            if (!fplMap.ContainsKey(uid))
            {
                Console.WriteLine(string.Format("checkFplID unknown uid=0x{0:X}", uid));
                throw new SceKernelErrorException(ERROR_KERNEL_NOT_FOUND_FPOOL);
            }

            return(uid);
        }
예제 #2
0
        public virtual int checkEventFlagID(int uid)
        {
            SceUidManager.checkUidPurpose(uid, "ThreadMan-eventflag", true);
            if (!eventMap.ContainsKey(uid))
            {
                if (uid != 0)
                {
                    Console.WriteLine(string.Format("checkEventFlagID unknown uid=0x{0:X}", uid));
                }
                throw new SceKernelErrorException(ERROR_KERNEL_NOT_FOUND_EVENT_FLAG);
            }

            return(uid);
        }
예제 #3
0
        public virtual int checkSemaID(int semaid)
        {
            SceUidManager.checkUidPurpose(semaid, "ThreadMan-sema", true);
            if (!semaMap.ContainsKey(semaid))
            {
                if (semaid == 0)
                {
                    // Some applications systematically try to signal a semaid=0.
                    // Do not spam WARNings for this case.
                    Console.WriteLine(string.Format("checkSemaID - unknown uid 0x{0:X}", semaid));
                }
                else
                {
                    Console.WriteLine(string.Format("checkSemaID - unknown uid 0x{0:X}", semaid));
                }
                throw new SceKernelErrorException(ERROR_KERNEL_NOT_FOUND_SEMAPHORE);
            }

            return(semaid);
        }