IOleObject::InitFromData 메서드(oleidl.h)

동일한 컨테이너 또는 클립보드에 상주할 수 있는 지정된 데이터 개체의 데이터를 사용하여 새로 만든 개체를 초기화합니다.

구문

HRESULT InitFromData(
  [in] IDataObject *pDataObject,
  [in] BOOL        fCreation,
  [in] DWORD       dwReserved
);

매개 변수

[in] pDataObject

초기화 데이터를 가져올 데이터 개체의 IDataObject 인터페이스에 대한 포인터입니다. 이 매개 변수는 NULL일 수 있습니다. 이 매개 변수는 호출자가 데이터를 보내는 것이 유용한지 알고 싶어 했음을 나타냅니다. 즉, 컨테이너가 전달된 데이터에서 개체를 초기화할 수 있는지 여부입니다. 전달할 데이터 개체는 컨테이너 문서 내의 현재 선택 영역 또는 외부 원본에서 컨테이너로 전송된 데이터를 기반으로 할 수 있습니다.

[in] fCreation

TRUE 는 컨테이너가 자체 내에 새 개체를 삽입하고 현재 선택 영역의 데이터를 사용하여 해당 개체를 초기화하고 있음을 나타냅니다. FALSE 는 현재 선택 영역 이외의 원본에서 더 일반적인 프로그래밍 방식 데이터 전송을 나타냅니다.

[in] dwReserved

이 매개 변수는 예약되어 있으며 0이어야 합니다.

반환 값

이 메서드는 pDataObjectNULL이 아니면 개체가 제공된 데이터에서 자신을 초기화하려고 시도하면 S_OK 반환합니다. pDataObjectNULL이면 개체가 성공적인 초기화를 시도할 수 있습니다. 다른 가능한 반환 값은 다음과 같습니다.

반환 코드 설명
S_FALSE
pDataObject가 NULL이 아닌 경우 개체는 자체 초기화를 시도하지 않았습니다. pDataObjectNULL이면 개체가 제공된 데이터에서 자신을 초기화하려고 시도할 수 없습니다.
E_NOTIMPL
개체는 InitFromData를 지원하지 않습니다.
OLE_E_NOTRUNNING
개체가 실행되고 있지 않으므로 작업을 수행할 수 없습니다.

설명

이 메서드를 사용하면 컨테이너 문서가 컨테이너 내의 현재 데이터 선택을 기반으로 하는 새 개체를 삽입할 수 있습니다. 예를 들어 스프레드시트 문서에서는 선택한 셀 범위의 데이터를 기반으로 그래프 개체를 만들 수 있습니다.

컨테이너는 이 메서드를 사용하여 포함된 개체의 내용을 다른 원본에서 전송된 데이터로 바꿀 수도 있습니다. 이렇게 하면 포함된 개체를 편리하게 업데이트할 수 있습니다.

발신자에게 참고 사항

초기화 후 컨테이너는 IOleObject::GetMiscStatus를 호출하여 OLEMISC_INSERTNOTREPLACE 비트의 값을 검사 합니다. 비트가 켜진 경우 새 개체는 선택한 데이터 다음에 자신을 삽입합니다. 비트가 꺼져 있으면 새 개체가 선택한 데이터를 대체합니다.

구현자에 대한 참고 사항

컨테이너는 true 또는 FALSEfCreation 매개 변수에 전달하여 현재 선택 영역에 새 개체를 기반으로 할지 여부를 지정합니다.

fCreationTRUE이면 컨테이너가 개체의 새 instance 만들어 데이터 개체에서 지정한 선택한 데이터로 초기화하려고 합니다.

fCreationFALSE이면 호출자가 개체의 현재 내용을 pDataObject가 가리키는 내용으로 바꾸려고 합니다. 붙여넣기 작업 중에 개체에 적용되는 일반적인 제약 조건이 여기에 적용되어야 합니다. 예를 들어 제공된 데이터 형식을 사용할 수 없는 경우 개체가 초기화되지 못하고 S_FALSE 반환해야 합니다.

개체가 S_FALSE 반환하는 경우 제공된 데이터에서 자신을 초기화할 수 없습니다.

요구 사항

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

추가 정보

IDataObject::SetData

IOleObject

IOleObject::GetMiscStatus