NTFS ボリューム上で新規ファイルが作成できない現象について

こんにちは。Windows テクノロジー サポートの新川です。 Windows Server 2003 上でシステム リソースは全く枯渇していないのに、STATUS_INSUFFICIENT_RESOURCES (0x c000009a) を示す以下などのエラーが発生してファイルの新規作成やコピーができないというお問い合わせをいただく事があります。   ・必要な記憶域をサーバーで確保できません ・リソースが不足しているため要求されたサービスを完了できません   上記エラーは $Secure の肥大化が原因である場合があります。今回は $Secure の肥大化によって発生する本事象について、NTFS の仕組みからじっくりとお話しします。 STATUS_INSUFFICIENT_RESOURCESエラーと NTFS の関係 Windows Vista より前の OS では、NTFS の特定領域 (ATTRIBUTE_LIST) をメモリのバッファ上に確保しようとした際に、バッファが確保できないと STATUS_INSUFFICIENT_RESOURCES エラーが返されます。これは、バッファが確保できない状況からリソース不足と考えて返しているのですが、実際にリソースが枯渇して十分なバッファを用意できない場合と、ATTRIBUTE_LIST の上限値 (256 KB) を超える処理が発生した場合に、先に行う ATTRIBUTE_LIST のバッファ確保の処理で、用意できる最大サイズのバッファでも足りないためにエラーが返される場合があります。   当然、これは十分なバッファを確保できない事が問題ではなく、ATTRIBUTE_LIST の上限値を超えた処理が行われた事が問題であり、Windows Vista 以降では、後者を区別できるよう別のエラー (STATUS_FILE_SYSTEM_LIMITATION) が返されるように動作が変更されています。以下の KB にもその内容や、処理のタイミングによっては他のエラーが返される可能性および、今回のお話にも大きく関連する ATTRIBUTE_LIST について書かれていますので、先にご案内させていただきます。   Article ID: 967351…