Share via


CoreAutomationRemoteOperation Class

Definition

Represents an entry point for UI Automation (UIA) clients to use remote operations.

public ref class CoreAutomationRemoteOperation sealed
/// [Windows.Foundation.Metadata.Activatable(65536, "Windows.UI.UIAutomation.UIAutomationContract")]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.UI.UIAutomation.UIAutomationContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class CoreAutomationRemoteOperation final
[Windows.Foundation.Metadata.Activatable(65536, "Windows.UI.UIAutomation.UIAutomationContract")]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.UI.UIAutomation.UIAutomationContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class CoreAutomationRemoteOperation
Public NotInheritable Class CoreAutomationRemoteOperation
Inheritance
Object Platform::Object IInspectable CoreAutomationRemoteOperation
Attributes

Windows requirements

Device family
Windows 10, version 2104 (introduced in 10.0.20348.0)
API contract
Windows.UI.UIAutomation.UIAutomationContract (introduced in v1.0)

Remarks

This class provides the ability to avoid excessive cross-process calls and reduce the overhead of cross-process communication latency.

The remote operation virtual machine accepts a 32-bit unsigned integer (little-endian) representing a bytecode version, followed by a stream of bytecode instructions.

Each bytecode instruction starts with a 32-bit opcode, with multi-byte types encoded using little-endian byte ordering.

The instruction can be followed by a set of parameters, depending on the instruction type. Parameters that refer to objects in an operand register are encoded as 32-bit (little-endian) values, with the relevant operand register referenced by ID. For non-register parameters, see the relevant instruction documentation.

The bytecode accepted by the virtual machine doesn’t expect padding between instructions (the opcode and any subsequent parameters). As such, each instruction has an associated 0-based index, depending on its location in the bytecode stream.

Constructors

CoreAutomationRemoteOperation()

Initializes a new CoreAutomationRemoteOperation object.

Methods

AddToResults(AutomationRemoteOperationOperandId)

Specifies which operand registers to return after executing the remote operation.

Execute(Byte[])

Executes a CoreAutomationRemoteOperation on a virtual machine.

ImportConnectionBoundObject(AutomationRemoteOperationOperandId, AutomationConnectionBoundObject)

Imports an AutomationConnectionBoundObject into this remote operation.

ImportElement(AutomationRemoteOperationOperandId, AutomationElement)

Enables the ability to reference an existing UI Automation element in the context of a remote operation virtual machine.

ImportTextRange(AutomationRemoteOperationOperandId, AutomationTextRange)

Enables the ability to reference an existing text range in the context of a remote operation virtual machine.

IsOpcodeSupported(UInt32)

Retrieves a value that indicates whether the specified opcode is supported by the CoreAutomationRemoteOperation virtual machine.

Applies to