Windows 95 Considerations

For systems configured for NetWare clients, the server side of the application must obtain the server principal name, and then pass this value to RpcServerRegisterAuthInfo. Use the RpcServerInqDefaultPrincName routine to obtain the server principal name. In this situation, the client calls RpcBindingSetAuthInfo in the usual manner, but a value of NULL is specified for PrincipalName. Behind the scenes, the Windows 95 run-time library queries the server to obtain the value of PrincipalName specified to RpcServerRegisterAuthInfo. This is the name that is actually used. The binding handle will be authenticated on the NetWare server.

For Windows 95, if RpcBindingSetAuthInfo is called with a NULL server principal name (as described above), the binding handle must be fully bound. If it is a dynamic endpoint in which the server registers the endpoint with the endpoint mapper and, therefore, is not known by the client, you must use RpcEpResolveBinding to bind the handle. This is because in order to obtain the principal name from the server, the Windows 95 run-time library implicitly calls RpcMgmtInqServerPrincName; calls to management interfaces cannot be made to unbound handles. All RPC server processes have the same management interface. Registering the handle with the endpoint mapper is not sufficient to uniquely identify a server.

Note  The ncacn_np and ncalrpc security descriptors are ignored by the Windows 95 run-time library, because Windows 95 does not support the Windows NT security model.