public override NT_STATUS DeleteDirectory(UserContext UserContext, string path)
        {
            if (path == "")
            {
                return(NT_STATUS.ACCESS_DENIED);                 // Root directory can not be deleted
            }
            if (!phone.Exists(root + path) || !phone.IsDirectory(path))
            {
                return(NT_STATUS.OBJECT_PATH_NOT_FOUND);                 // Dir not found
            }
            // FIXME: We have no way of checking for directory or file attributes
            //if ((new DirectoryInfo(root + Path).Attributes & FileAttributes.ReadOnly) == FileAttributes.ReadOnly)
            //    return NT_STATUS.ACCESS_DENIED;

            try
            {
                phone.DeleteDirectory(root + path, false);
            }
            catch (UnauthorizedAccessException ex)
            {
                Trace.WriteLine("Warning->Error error occured when deleting directory '" + path + "' : " + ex.Message);
                return(NT_STATUS.ACCESS_DENIED);     // We know it exists, so it must just be denied
            }
            catch (IOException ex)
            {
                Trace.WriteLine("Warning->Error occured when deleting directory '" + path + "' : " + ex.Message);
                return(NT_STATUS.DIRECTORY_NOT_EMPTY);   // Nachdem wir oben schon festgestellt haben dass das Listing da ist,
                // und nicht read-only ist, kann es nur noch nicht leer ist.
            }
            return(NT_STATUS.OK);
        }