Como o grawity
diz, o segundo "reset" é uma escrita ruim ou um erro total.
Isn't the statement attributes on the file are reflected in every hard link to that file equivalent to the statement changes to that file's attributes propagate to all the hard links?
Não. O artigo está declarando algo que talvez seja um detalhe de implementação demais para o público alvo. No NTFS, cada entrada na MFT pode ter zero ou mais $FILE_NAME
atributos . Eles registram o diretório pai e o nome dentro desse diretório para cada link físico para o arquivo. Mas eles também registram sinalizadores de atributo de arquivo, mesmo que esses sinalizadores sejam registrados no único atributo $STANDARD_INFORMATION
da entrada da MFT. As regras são um pouco complexas, mas coloque brevemente $STANDARD_INFORMATION
o que importa e as informações de $FILE_NAME
não são atualizadas, a menos que um link físico seja renomeado, criado ou destruído - o que exige tocar nos atributos $FILE_NAME
, e assim é o ponto em que os flags do atributo atual podem ser propagados para os atributos $FILE_NAME
.
Um desenvolvedor provavelmente explicou os detalhes sangrentos do NTFS para o autor técnico que escreveu o artigo do MSDN. Mas eles não têm relevância para um usuário final ou até mesmo para um programador de aplicativos. Estes são detalhes internos de como funciona o NTFS. Do ponto de vista do Win32, um arquivo / diretório tem exatamente um conjunto de flags de atributo, e atualizá-lo está atualizando-o, no entanto, isso é feito. Se você definir o R
off para permitir a exclusão de um link físico para o arquivo, (presumindo que esse não era o último link), é necessário definir o R
novamente, de qualquer forma, para tornar o arquivo somente leitura novamente.