Пример #1
0
        private static void CheckForFault(SafeHGlobalBuffer buffer, LRPC_MESSAGE_TYPE message_type)
        {
            var header = buffer.Read <LRPC_HEADER>(0);

            if (header.MessageType != LRPC_MESSAGE_TYPE.lmtFault && header.MessageType != message_type)
            {
                throw new ArgumentException($"Invalid response message type {header.MessageType}");
            }

            if (header.MessageType == LRPC_MESSAGE_TYPE.lmtFault)
            {
                var fault = buffer.GetStructAtOffset <LRPC_FAULT_MESSAGE>(0);
                throw new RpcFaultException(fault);
            }
        }
Пример #2
0
 public LRPC_HEADER(LRPC_MESSAGE_TYPE message_type)
 {
     MessageType = message_type;
     Padding     = 0;
 }