3.3.4.13 Server Application Requests Closing an Open

The calling application MUST provide GlobalFileId as an identifier for the Open. The server MUST enumerate all connections in Server.ConnectionTable and MUST look up Open in Server.Connection.FileOpenTable where Server.Open.FileGlobalId is equal to GlobalFileId. If the Open is found, the server MUST remove it from Server.Connection.FileOpenTable, MUST decrease Open.TreeConnect.OpenCount and Server.Statistics.sts0_fopens by 1, MUST release every lock in Server.Open.Locks, and MUST return STATUS_SUCCESS to the calling application; otherwise, the call MUST return an implementation-dependent error.

The server MUST provide GlobalFileId to deregister the Open by invoking the event Server Deregisters an Open ([MS-SRVS] section 3.1.6.5).

The Open object MUST be closed.