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)
public static TRemoteObject IpcConnectClient<TRemoteObject>(
	string InChannelName
where TRemoteObject : MarshalByRefObject


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

Type Parameters

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.
ArgumentException Unable to create remote object or invalid channel name...
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