private AlpcMessage Send(AlpcMessage msg) { NtWaitTimeout timeout = TimeoutMs.HasValue ? NtWaitTimeout.FromMilliseconds(TimeoutMs.Value) : NtWaitTimeout.Infinite; var recv_message = CreateReceiveMessage(); Port.SendReceive(Flags, msg, SendAttributes, recv_message, recv_message != null ? ReceiveAttributes : null, timeout); return(recv_message); }
private void ClearAttributes(AlpcMessage msg, AlpcReceiveMessageAttributes attributes) { AlpcMessageAttributeFlags flags = attributes.ValidAttributes & (AlpcMessageAttributeFlags.View | AlpcMessageAttributeFlags.Handle); if (!msg.ContinuationRequired || flags == 0) { return; } _client.Send(AlpcMessageFlags.None, msg, attributes.ToContinuationAttributes(flags), NtWaitTimeout.Infinite); }
internal static void DumpBuffer(bool transport, string title, AlpcMessage message) { if (!CheckSwitch(transport)) { return; } using (var buffer = message.ToSafeBuffer()) { DumpBuffer(transport, title, buffer.ToArray()); } }
public AlpcMessageViewModel(AlpcMessage message, int index) { Message = message; Index = index; }
internal static SafeAlpcPortMessageBuffer GetMessageBuffer(this DisposableList list, AlpcMessage message) { if (message == null) { return(SafeAlpcPortMessageBuffer.Null); } return(list.AddResource(message.ToSafeBuffer())); }