CoreAutomationRemoteOperation Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
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
- 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. |