다음을 통해 공유


IPersistFile::IsDirty 메서드(objidl.h)

개체가 현재 파일에 마지막으로 저장된 이후 변경되었는지 여부를 확인합니다.

구문

HRESULT IsDirty();

반환 값

이 메서드는 S_OK 반환하여 개체가 변경되었음을 나타냅니다. 그렇지 않으면 S_FALSE를 반환합니다.

설명

개체를 닫기 전에 저장해야 하는지 여부를 확인하려면 이 메서드를 사용합니다. 개체에 대한 더티 플래그는 IPersistFile::Save 메서드에서 조건부로 지워집니다.

발신자에 대한 참고 사항

OLE는 IsDirty를 호출하지 않습니다. 애플리케이션은 개체를 파일에 저장하지 않는 한 호출하지 않습니다.

개체가 변경되었음을 나타내는 오류 반환 코드를 처리해야 합니다. 이 메서드가 S_FALSE 명시적으로 반환하지 않는 한 개체를 저장해야 한다고 가정합니다.

구현자에 대한 참고 사항

포함된 개체가 없는 개체는 해당 더티 플래그를 확인하여 적절한 결과를 반환합니다.

하나 이상의 포함된 개체가 있는 컨테이너는 포함된 개체가 마지막으로 저장된 이후 변경될 때 설정된 내부 더티 플래그를 유지해야 합니다. 이렇게 하려면 컨테이너는 IAdviseSink 인터페이스를 구현하여 조언 싱크를 유지 관리해야 합니다. 그런 다음, 컨테이너는 IDataObject::D Advise를 호출하여 데이터 변경 알림에 대한 각 링크 또는 포함을 등록할 수 있습니다. 그런 다음 컨테이너는 IAdviseSink::OnDataChange 알림을 받을 때 내부 더티 플래그를 설정할 수 있습니다. 컨테이너가 데이터 변경 알림에 등록하지 않으면 IPersistFile::IsDirty 구현은 포함된 각 개체에 대해 IPersistStorage::IsDirty 를 호출하여 변경 여부를 확인합니다.

개체가 저장된 파일이 저장 후 현재 작업 파일인 한 컨테이너는 저장할 때마다 더티 플래그를 지울 수 있습니다. 따라서 저장 또는 다른 이름으로 저장 작업이 성공한 후에는 더티 플래그가 지워지 지만 다른 이름으로 복사본 저장 작업 후에는 지워지지 않습니다. . . .

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 objidl.h

추가 정보

IAdviseSink::OnDataChange

IDataObject::D Advise

IPersistFile