public void Enqueue(byte* MessageIn, int MessageSize)
{
try
{
var MessagePartition = PoolPartition.Allocate(MessageSize);
Messages.Enqueue(MessagePartition);
PspMemory.WriteBytes(MessagePartition.Low, MessageIn, MessageSize);
#if DEBUG_MSG_PIPES
Console.Error.WriteLine("MsgPipe.Enqueue (Ok)");
#endif
}
catch
{
#if DEBUG_MSG_PIPES
Console.Error.WriteLine("MsgPipe.Enqueue (Failed)");
#endif
throw (new SceKernelException(SceKernelErrors.ERROR_KERNEL_MESSAGE_PIPE_FULL));
}
// 0 -> 1
NoticeAvailableForRecv();
}