Using RPC With WinSock Proxy

The release of Microsoft® Internet Access Server included WinSock Proxy, an enhanced version of Windows Sockets API, version 1.1.

WinSock Proxy lets a Windows Sockets application, running on a private network client, behave as if it were directly connected to a remote Internet server application, when in fact, the Microsoft Proxy Server is the host for this connection. This means that all application-level communications are channeled through a single secured computer—the gateway computer running Microsoft Proxy Server.

Ordinarily, for datagram packet transfers, the RPC transport DLL bypasses the sendto( ) and recvfrom( ) functions provided in WSOCK32.DLL, and communicates directly with the underlying device driver. This improves the speed of packet transfers but makes WinSock Proxy features unavailable to the application.

Effective with NT 4.0, SP2, the RPC transport checks the registry to see whether to use the function calls provided in WSOCK32.DLL, or to speak directly with the device driver. To use RPC with WinSock Proxy, edit the system registry on each machine to add the following entry:

HKEY_LOCAL_MACHINE
Software
Microsoft
Rpc
UseWinsockForIP : REG_DWORD "1"

Another feature of WinSock Proxy is the ability to emulate the TCP transport protocol over Novell's SPX transport when the SPX client machine does not have TCP installed. To use this feature with RPC applications, edit the system registry on each client machine to add this entry:

HKEY_LOCAL_MACHINE
Software
Microsoft
Rpc
ClientProtocols
ncacn_ip_tcp: REG_SZ "rpcltccm.dll"
ncadg_ip_udp: REG_SZ "rpcltccm.dll"

Edit the registry on each server machine to add this entry:

HKEY_LOCAL_MACHINE
Software
Microsoft
Rpc
ServerProtocols
ncacn_ip_tcp: REG_SZ "rpcltscm.dll"
ncadg_ip_udp: REG_SZ "rpcltscm.dll"

For more information about RPC transport protocols see Specifying the Protocol Sequence. For more information about WinSock Proxy see the product documentation for Microsoft Internet Access Server.