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 |