CSPspEmu.Hle.Modules.threadman.ThreadManForUser.MsgPipe.Dequeue C# (CSharp) Метод

Dequeue() публичный Метод

public Dequeue ( byte MessageOut, int MessageMaxSize, int MessageSizeOut ) : void
MessageOut byte
MessageMaxSize int
MessageSizeOut int
Результат void
            public void Dequeue(byte* MessageOut, int MessageMaxSize, int* MessageSizeOut)
            {
                if (Messages.Count <= 0)
                {
                    //Console.Error.WriteLine("MsgPipe.Dequeue (Failed)");
                    throw (new SceKernelException(SceKernelErrors.ERROR_KERNEL_MESSAGE_PIPE_EMPTY));
                }
                else
                {
                    //Console.Error.WriteLine("MsgPipe.Dequeue (Ok)");
                    var MessagePartition = Messages.Dequeue();
                    var ReadSize = Math.Min(MessagePartition.Size, MessageMaxSize);
                    PspMemory.ReadBytes(MessagePartition.Low, MessageOut, ReadSize);
                    MessagePartition.DeallocateFromParent();
                    if (MessageSizeOut != null)
                    {
                        *MessageSizeOut = ReadSize;
                    }

                    NoticeAvailableForSend();
                }
            }