Developing Macintosh Client Applications
To develop client-side applications for the Macintosh, you must have the following
-
Visual C++ for the Macintosh. The RPC runtime has been compiled using Visual C++ cross-development tools. In order to use rpc.lib, you must link against the C run-time and swapper library (swap.lib) provided with Visual C++, version 2.0 or later.
-
The Macintosh RPC SDK, which is contained in a disk image in the Win32 SDK directory \rpc_sdk. Run SETUP.EXE from Disk 1 to install the Macintosh header and library files. Note that the current rpc.lib is native 68K. We currently do not provide a native Power Mac library. RPC runs in emulation on Power Macs.
-
The target computer must have a microprocessor of 68020 or later, and it must be running System 7.0 or later.
To connect to the Windows NT or Windows 95 server
-
Current Windows NT-supported protocols for the Macintosh are ADSP and TCP/IP. In order to use ADSP, the Windows NT server must have both the AppleTalk protocol and Services for Macintosh. Windows 95 supports only the TCP/IP protocol for the Macintosh.
To write an RPC client
-
If you use atexit to perform cleanup during shutdown, do not call any RPC APIs in your exit processing function.
-
If a yielding function is not registered, an RPC will not yield on the Macintosh. Register a yielding function by calling RpcMacSetYieldInfo.
void RPC_ENTRY MacCallbackFunc(short *pStatus)
{
MSG msg;
while (*pStatus == 1)
{
if(PeekMessage(&msg,NULL,0,0,PM_REMOVE))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
}
-
Most client-side APIs that are supported by Windows 3.x are also supported by the Macintosh. The Macintosh does not support the following APIs:
-
RpcNs* APIs
-
RpcMgmt* APIs
-
RpcWinSetYieldInfo (replaced by RpcMacSetYieldInfo)
The only authentication service currently supported for the Macintosh is RPC_C_AUTHN_WINNT.
The following protocol sequences are supported:
-
ADSP:ncacn_at_dsp
-
TCP:ncacn_ip_tcp