Exemplo n.º 1
0
        public ER ReferStatus(ref T_RMBX pk_rmbx)
        {
            //if (pk_rmbx == null)
            //	return ER.E_PAR;

            // 拡張情報
            pk_rmbx.exinf = m_cmbx.exinf;

            // 待ちタスクの有無
            pk_rmbx.wtsk = m_TskQueue.First != null;

            // 待ちメッセージの有無
            pk_rmbx.pk_msg = (m_MsgQueue.First == null) ? null : m_MsgQueue.First.Value;

            return(ER.E_OK);
        }
Exemplo n.º 2
0
        public ER ReferStatus(ref T_RMBX pk_rmbx)
        {
            //if (pk_rmbx == null)
            //	return ER.E_PAR;

            // 拡張情報
            pk_rmbx.exinf = m_cmbx.exinf;

            // 待ちタスクの有無
            pk_rmbx.wtsk = m_TskQueue.First != null;

            // 待ちメッセージの有無
            pk_rmbx.pk_msg = (m_MsgQueue.First == null) ? null : m_MsgQueue.First.Value;

            return ER.E_OK;
        }
Exemplo n.º 3
0
        public ER ref_mbx(ref T_RMBX pk_rmbx, ID mbxid)
        {
            ER Result = ER.E_NOEXS;
            Mailbox Mailbox;

            if (g_Kernel == null)
                return ER.E_DLT;

            g_Kernel.LockCPU();
            try {
                Mailbox = g_Kernel.Nucleus.GetMailbox(mbxid);
                if (Mailbox == null)
                    Result = ER.E_NOEXS;
                else
                    Result = Mailbox.ReferStatus(ref pk_rmbx);
            }
            finally {
                g_Kernel.UnlockCPU();
            }

            return Result;
        }