3.3.4.11 Server Application Deregisters a Share

The calling application MUST provide the tuple <ServerName, ShareName> of the share that is being deregistered. The server MUST look up the share in Server.ShareTable, MUST remove it from the list if the share is found, and MUST return STATUS_SUCCESS to the calling application; otherwise, the server MUST return an implementation-specific error.

For each Connection in Server.ConnectionTable, the server MUST perform the following:

  • For each Open in Connection.FileOpenTable where Open.TreeConnect.Share matches the current share:

    • Close the Open as specified in section 3.3.4.13.

  • For each TreeConnect in Connection.TreeConnectTable where TreeConnect.Share matches the current share:

    • Deregister the TreeConnect by invoking the event specified in [MS-SRVS] section 3.1.6.7 with the tuple <TreeConnect.Share.ServerName, TreeConnect.Share.Name> and TreeConnect.TreeGlobalId as input parameters.

    • Remove the TreeConnect entry from Connection.TreeConnectTable.