3.3.4.23 Server Application Disables the SMB2 Server

The server MUST verify, in an implementation-specific manner, that the caller of this interface is the server service [MS-SRVS]. Only if so, the server MUST take the following actions:

  • The server MUST set ServerEnabled to FALSE to prevent accepting new connections.

  • For each session in GlobalSessionTable, the server MUST take the following actions:

    • The server MUST disconnect Session.Connection.

    • The server MUST close the session as specified in section 3.3.4.12, providing Session.SessionGlobalId as the input parameter.

  • For each Open in GlobalOpenTable, the server MUST close the open as specified in section 3.3.4.17, providing Open.FileGlobalId as the input parameter.

  • The server MUST remove and free all the shares in ShareList.

  • For each connection in ConnectionList, the server MUST invoke the event specified in [MS-SRVS] section 3.1.6.16 to update the connection count by providing the tuple <Connection.TransportName,FALSE>. The server MUST remove and free all connections in ConnectionList.