문서를 영문으로 보려면 영문 확인란을 선택하세요. 마우스 포인터를 텍스트 위로 이동시켜 팝업 창에서 영문 텍스트를 표시할 수도 있습니다.
번역
영문
이 설명서는 보관되지만 유지 되지 않습니다.

InternalBufferOverflowException 클래스

내부 버퍼가 오버플로될 때 throw되는 예외입니다.

System.Object
  System.Exception
    System.SystemException
      System.IO.InternalBufferOverflowException

네임스페이스:  System.IO
어셈블리:  System(System.dll)

[SerializableAttribute]
public class InternalBufferOverflowException : SystemException

InternalBufferOverflowException 형식에서는 다음과 같은 멤버를 노출합니다.

  이름설명
Public 메서드InternalBufferOverflowException() InternalBufferOverflowException 클래스의 새로운 기본 인스턴스를 초기화합니다.
Public 메서드InternalBufferOverflowException(String)표시될 오류 메시지를 지정한 상태에서 InternalBufferOverflowException 클래스의 새 인스턴스를 초기화합니다.
Protected 메서드InternalBufferOverflowException(SerializationInfo, StreamingContext)인프라입니다. 지정된 SerializationInfoStreamingContext 개체를 사용하여 serialize할 수 있는 InternalBufferOverflowException 클래스의 비어 있는 새 인스턴스를 초기화합니다.
Public 메서드InternalBufferOverflowException(String, Exception)표시될 메시지 및 생성되는 내부 예외를 지정한 상태에서 InternalBufferOverflowException 클래스의 새 인스턴스를 초기화합니다.
위쪽

  이름설명
Public 속성Data예외에 대한 사용자 정의 추가 정보를 제공하는 키/값 쌍의 컬렉션을 가져옵니다. (Exception에서 상속됨)
Public 속성HelpLink이 예외와 관련된 도움말 파일에 대한 링크를 가져오거나 설정합니다. (Exception에서 상속됨)
Protected 속성HResult특정 예외에 할당된 코드화된 숫자 값인 HRESULT를 가져오거나 설정합니다. (Exception에서 상속됨)
Public 속성InnerException현재 예외를 발생시킨 Exception 인스턴스를 가져옵니다. (Exception에서 상속됨)
Public 속성Message현재 예외를 설명하는 메시지를 가져옵니다. (Exception에서 상속됨)
Public 속성Source오류를 발생시키는 응용 프로그램 또는 개체의 이름을 가져오거나 설정합니다. (Exception에서 상속됨)
Public 속성StackTrace호출 스택의 직접 실행 프레임에 대한 문자열 표현을 가져옵니다. (Exception에서 상속됨)
Public 속성TargetSite현재 예외를 throw하는 메서드를 가져옵니다. (Exception에서 상속됨)
위쪽

  이름설명
Public 메서드Equals(Object)지정한 Object가 현재 Object와 같은지 여부를 확인합니다. (Object에서 상속됨)
Protected 메서드Finalize 개체가 가비지 수집자에서 회수되기 전에, 해당 개체에서 리소스를 해제하고 다른 정리 작업을 수행할 수 있게 합니다. (Object에서 상속됨)
Public 메서드GetBaseException파생 클래스에서 재정의되었을 때, 하나 이상의 후속 예외의 근본 원인이 되는 Exception을 반환합니다. (Exception에서 상속됨)
Public 메서드GetHashCode특정 형식에 대한 해시 함수 역할을 합니다. (Object에서 상속됨)
Public 메서드GetObjectData파생 클래스에서 재정의될 때, 예외에 관한 정보를 SerializationInfo에 설정합니다. (Exception에서 상속됨)
Public 메서드GetType현재 인스턴스의 런타임 형식을 가져옵니다. (Exception에서 상속됨)
Protected 메서드MemberwiseClone현재 Object의 단순 복사본을 만듭니다. (Object에서 상속됨)
Public 메서드ToString현재 예외에 대한 문자열 표현을 만들고 반환합니다. (Exception에서 상속됨)
위쪽

  이름설명
Protected 이벤트SerializeObjectState예외에 대한 serialize된 데이터가 들어 있는 예외 상태 개체가 만들어지도록 예외가 serialize될 때 발생합니다. (Exception에서 상속됨)
위쪽

FileSystemWatcher 에서 파일 변경 내용을 사용자에게 알릴 때 시스템에서는 구성 요소에서 수행되어 API(응용 프로그래밍 인터페이스)에 전달된 변경 내용을 버퍼에 저장합니다. 단기간에 너무 많은 내용을 변경하면 버퍼가 오버플로되어 예외가 throw되며 변경 내용을 모두 잃게 됩니다. 버퍼 오버플로를 방지하려면 FileSystemWatcher.NotifyFilterFileSystemWatcher.IncludeSubdirectories 속성을 사용하여 원하지 않는 변경 알림을 필터링합니다. FileSystemWatcher.InternalBufferSize 속성을 사용하여 내부 버퍼 크기를 늘릴 수도 있습니다. 그러나 버퍼 크기를 증가시키는 것은 리소스가 많이 소모되는 작업이므로 가능한 한 버퍼를 작게 유지하는 것이 좋습니다.

다음 예제에서는 FileSystemWatcher를 작성하여 디스크 드라이브에서 발생하는 만들기, 삭제, 이름 바꾸기, 변경과 같은 파일 변경 사항을 모니터링하는 방법을 보여 줍니다. 예제에서는 오류 알림을 받는 방법도 보여 줍니다.


using System;
using System.IO;

class Program
{
    static void Main(string[] args)
    {
        //  Create a FileSystemWatcher to monitor all files on drive C.
        FileSystemWatcher fsw = new FileSystemWatcher("C:\\");

        //  Watch for changes in LastAccess and LastWrite times, and
        //  the renaming of files or directories. 
        fsw.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite
            | NotifyFilters.FileName |NotifyFilters.DirectoryName;

        //  Register a handler that gets called when a 
        //  file is created, changed, or deleted.
        fsw.Changed += new FileSystemEventHandler(OnChanged);

        fsw.Created += new FileSystemEventHandler(OnChanged);

        fsw.Deleted += new FileSystemEventHandler(OnChanged);

        //  Register a handler that gets called when a file is renamed.
        fsw.Renamed += new RenamedEventHandler(OnRenamed);

        //  Register a handler that gets called if the 
        //  FileSystemWatcher needs to report an error.
        fsw.Error += new ErrorEventHandler(OnError);

        //  Begin watching.
        fsw.EnableRaisingEvents = true;

        Console.WriteLine("Press \'Enter\' to quit the sample.");
        Console.ReadLine();


    }

    //  This method is called when a file is created, changed, or deleted.
    private static void OnChanged(object source, FileSystemEventArgs e)
    {
        //  Show that a file has been created, changed, or deleted.
        WatcherChangeTypes wct = e.ChangeType;
        Console.WriteLine("File {0} {1}", e.FullPath, wct.ToString());
    }

    //  This method is called when a file is renamed.
    private static void OnRenamed(object source, RenamedEventArgs e)
    {
        //  Show that a file has been renamed.
        WatcherChangeTypes wct = e.ChangeType;
        Console.WriteLine("File {0} {2} to {1}", e.OldFullPath, e.FullPath, wct.ToString());
    }

    //  This method is called when the FileSystemWatcher detects an error.
    private static void OnError(object source, ErrorEventArgs e)
    {
        //  Show that an error has been detected.
        Console.WriteLine("The FileSystemWatcher has detected an error");
        //  Give more information if the error is due to an internal buffer overflow.
        if (e.GetException().GetType() == typeof(InternalBufferOverflowException))
        {
            //  This can happen if Windows is reporting many file system events quickly 
            //  and internal buffer of the  FileSystemWatcher is not large enough to handle this
            //  rate of events. The InternalBufferOverflowException error informs the application
            //  that some of the file system events are being lost.
            Console.WriteLine(("The file system watcher experienced an internal buffer overflow: " + e.GetException().Message));
        }
    }

}


.NET Framework

4, 3.5, 3.0, 2.0, 1.1, 1.0에서 지원

.NET Framework Client Profile

4, 3.5 SP1에서 지원

Windows 7, Windows Vista SP1 이상, Windows XP SP3, Windows XP SP2 x64 버전, Windows Server 2008(Server Core는 지원되지 않음), Windows Server 2008 R2(Server Core는 SP1 이상에서 지원됨), Windows Server 2003 SP2

.NET Framework에서 모든 플랫폼의 전체 버전을 지원하지는 않습니다. 지원되는 버전의 목록을 보려면 .NET Framework 시스템 요구 사항을 참조하십시오.

이 형식의 모든 공용 static(Visual Basic의 경우 Shared) 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.
표시: