Click or drag to resize

RemoteHookingIpcConnectClientTRemoteObject Method

Connects to a globally reachable, managed IPC port.

Namespace:  EasyHook
Assembly:  EasyHook (in EasyHook.dll) Version: 2.7.6684.0 (2.7.6684.0)
Syntax
public static TRemoteObject IpcConnectClient<TRemoteObject>(
	string InChannelName
)
where TRemoteObject : MarshalByRefObject

Parameters

InChannelName
Type: SystemString
The name of the channel to connect to, usually obtained with IpcCreateServerTRemoteObject(String, WellKnownObjectMode, TRemoteObject, WellKnownSidType).

Type Parameters

TRemoteObject
An object derived from MarshalByRefObject which provides the method implementations this server should provide. Note that only calls through the returned object instance will be redirected to the server process! ATTENTION: Static fields and members are always processed locally only...

Return Value

Type: TRemoteObject
An remote object instance which member accesses will be redirected to the server.
Exceptions
ExceptionCondition
ArgumentException Unable to create remote object or invalid channel name...
Remarks
All requests have to be made through the returned object instance. Please note that even if you might think that managed IPC is quiet slow, this is not usually the case. Internally a mechanism is being used to directly continue execution within the server process, so that even if your thread does nothing while dispatching the request, no CPU time is lost, because the server thread seemlessly takes over exection. And to be true, the rare conditions in which you will need high-speed IPC ports are not worth the effort to break with NET's exciting IPC capabilities. In times of Quad-Cores, managed marshalling isn't that slow anymore.
See Also