On a Windows 8.1 or Windows Server 2012 R2 client, the Win32 DeleteFile function does not return an error when the server replies to a Close request with a "STATUS_NETWORK_NAME_DELETED" Server Message Block 2 (SMB2) error. Therefore, the client application is unaware that the file delete request actually failed. After this occurs, the file may remain on the server until it detects that no persistent reconnect has occurred. The server then deletes the file.
However, if the client tries to remove the directory from which the file was deleted while the server is waiting for a persistent reconnect to occur (typically 60 seconds, although the time-out period may vary, depending on SMB3 product implementation), the request fails with a "STATUS_DIRECTORY_NOT_EMPTY" error.
Note A network trace must be captured in order to detect that the server replied to the client's SMB2 Close request with a "STATUS_NETWORK_NAME_DELETED" (0xC00000C9) error.
However, if the client tries to remove the directory from which the file was deleted while the server is waiting for a persistent reconnect to occur (typically 60 seconds, although the time-out period may vary, depending on SMB3 product implementation), the request fails with a "STATUS_DIRECTORY_NOT_EMPTY" error.
Note A network trace must be captured in order to detect that the server replied to the client's SMB2 Close request with a "STATUS_NETWORK_NAME_DELETED" (0xC00000C9) error.