FileSystemWatcher.InternalBufferSize プロパティ


内部バッファーのサイズ (バイト単位) を取得または設定します。Gets or sets the size (in bytes) of the internal buffer.

 property int InternalBufferSize { int get(); void set(int value); };
public int InternalBufferSize { get; set; }
public int InternalBufferSize { get; set; }
member this.InternalBufferSize : int with get, set
Public Property InternalBufferSize As Integer


内部バッファー サイズ (バイト単位)。The internal buffer size in bytes. 既定値は 8192 (8 KB) です。The default is 8192 (8 KB).



バッファーは 4 KB 以上に設定できますが、64 KB を超えることはできません。You can set the buffer to 4 KB or larger, but it must not exceed 64 KB. InternalBufferSize プロパティを4096バイト未満に設定しようとすると、値は破棄され、InternalBufferSize プロパティは4096バイトに設定されます。If you try to set the InternalBufferSize property to less than 4096 bytes, your value is discarded and the InternalBufferSize property is set to 4096 bytes. 最高のパフォーマンスを得るには、Intel ベースのコンピューターで 4 KB の倍数を使用します。For best performance, use a multiple of 4 KB on Intel-based computers.

システムは、ファイルの変更をコンポーネントに通知し、コンポーネントが作成して Api に渡すバッファーにそれらの変更を保存します。The system notifies the component of file changes, and it stores those changes in a buffer the component creates and passes to the APIs. 各イベントは、16バイトまでのメモリを使用できます。ファイル名は含まれません。Each event can use up to 16 bytes of memory, not including the file name. 短時間で多くの変更が加えられた場合、バッファーがオーバーフローする可能性があります。If there are many changes in a short time, the buffer can overflow. これにより、コンポーネントはディレクトリの変更を追跡できなくなり、一括通知のみが提供されます。This causes the component to lose track of changes in the directory, and it will only provide blanket notification. バッファーのサイズを大きくすると、ファイルシステムの変更イベントが見つからない可能性があります。Increasing the size of the buffer can prevent missing file system change events. ただし、バッファーサイズの増加は、ディスクにスワップアウトできない非ページメモリからのものであるため、コストが高くなります。バッファーはできるだけ小さくしてください。However, increasing buffer size is expensive, because it comes from non-paged memory that cannot be swapped out to disk, so keep the buffer as small as possible. バッファーオーバーフローを回避するには、NotifyFilterIncludeSubdirectories のプロパティを使用して、不要な変更通知を除外します。To avoid a buffer overflow, use the NotifyFilter and IncludeSubdirectories properties to filter out unwanted change notifications.