// Decompiled with JetBrains decompiler // Type: Microsoft.InfoCards.SendAgentStatusRequest // Assembly: infocard, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 // MVID: 1D4D5564-A025-490C-AF1D-DF4FBB709D1F // Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00001-msil\Virus.Win32.Expiro.w-f8f9f26e940480624825f6bddbea86e70fc4aa746c4dd8efa7d98dcb477000ed.exe using Microsoft.InfoCards.Diagnostics; using System; using System.IO; using System.Text; namespace Microsoft.InfoCards { internal class SendAgentStatusRequest : UIAgentRequest { private SendAgentStatusRequest.AgentStatusType m_agentStatus; private bool m_retVal; private uint m_ATApplicationsFlags; public SendAgentStatusRequest( IntPtr rpcHandle, Stream inArgs, Stream outArgs, ClientUIRequest parentRequest) : base(rpcHandle, inArgs, outArgs, parentRequest) { } protected override void OnMarshalInArgs() { InfoCardTrace.Assert(this.InArgs.Length > 0L, "The agent status must be specified"); BinaryReader binaryReader = (BinaryReader) new InfoCardBinaryReader(this.InArgs, Encoding.Unicode); this.m_agentStatus = (SendAgentStatusRequest.AgentStatusType) binaryReader.ReadUInt32(); this.m_ATApplicationsFlags = binaryReader.ReadUInt32(); } protected override void OnProcess() { this.m_retVal = false; switch (this.m_agentStatus) { case SendAgentStatusRequest.AgentStatusType.AGENT_DESKTOP_CREATED: case SendAgentStatusRequest.AgentStatusType.AGENT_DESKTOP_SWITCH_IN: this.ParentRequest.StartAccessibilityApplications(this.m_ATApplicationsFlags); break; case SendAgentStatusRequest.AgentStatusType.AGENT_DESKTOP_SWITCH_OUT: this.m_retVal = this.ParentRequest.RestartAccessibilityApplications(); break; } } protected override void OnMarshalOutArgs() => new BinaryWriter(this.OutArgs, Encoding.Unicode).Write(this.m_retVal); public enum AgentStatusType { AGENT_INITIALIZING, AGENT_DESKTOP_CREATED, AGENT_DESKTOP_SWITCH_OUT, AGENT_DESKTOP_SWITCH_IN, AGENT_SHUTTING_DOWN, } } }