3.5 Local Interface Details for RPC Server Applications

The content in this section provides a unified interface for RPC server applications that use named pipes over the SMB family of protocols.  Because named pipe traffic can flow over the protocols specified in [MS-CIFS] or [MS-SMB2], these interfaces are written so that the higher-layer RPC server application is isolated from the specifics of the underlying protocol.  Implementations that support RPC server applications SHOULD support the interfaces defined in this section.

This section provides a protocol-independent abstraction for RPC servers running over named pipes. It does not introduce any new semantics or state to the protocol specified in [MS-CIFS].

To simplify this interface, a composite structure RPCServerGenericNamedPipeOpen is defined to encapsulate the underlying protocol and the protocol-specific server side open to a named pipe. The structure has the following fields:

RPCServerGenericNamedPipeOpen.ProtocolDialect: The protocol dialect associated with the open.

RPCServerGenericNamedPipeOpen.ProtocolSpecificOpen: The protocol-specific Server.Open, as specified in section 3.3.1.7 and in [MS-SMB2] section 3.3.1.10.

This structure MUST be considered opaque to the caller.