2017-11-02 2 views
1

미리보기를 위해 및 OBJECTDESCRIPTOR과 함께 IStorage 매체에 "포함 된 개체"데이터를 쓰는 IDataObject을 구현했습니다. 개체는 OleSetClipboard으로 클립 보드에 전달됩니다.왜 OleFlushClipboard가 내 저장소 개체의 클래스 ID를 잃게합니까?

이 단어를 Word에 붙여 넣을 수는 있지만 OleFlushClipboard을 붙여 넣으면 "Word에 문제가 있습니다"라는 오류 메시지와 함께 붙여 넣을 수 없습니다. 객체의 IStorage을 가져 오면 플러시 후에 해당 클래스 ID가 CLSID_NULL으로 재설정되었음을 알 수 있습니다. 어떤 아이디어?

답변

0

결국이 문제는 ClsID를 작성한 후 IStorage::Commit으로 전화하여 해결되었습니다. 분명히 내 특별한 사용 사례에서 어떤 이유로 클립 보드에 의해 우리에게 주어진 기본 저장소에 변경 사항이 제대로 기록되지 않았습니다.

관련 문제