다음을 통해 공유


IOleCache::SetData 메서드(oleidl.h)

지정된 형식의 데이터와 지정된 매체의 데이터를 사용하여 캐시를 초기화합니다.

구문

HRESULT SetData(
  [in] FORMATETC *pformatetc,
  [in] STGMEDIUM *pmedium,
  [in] BOOL      fRelease
);

매개 변수

[in] pformatetc

캐시에 배치되는 프레젠테이션 데이터의 형식을 지정하는 FORMATETC 구조체에 대한 포인터입니다.

[in] pmedium

프레젠테이션 데이터를 포함하는 스토리지 매체를 지정하는 STGMEDIUM 구조체에 대한 포인터입니다.

[in] fRelease

메서드가 완료된 후 스토리지 매체의 소유권을 나타냅니다. fReleaseTRUE이면 캐시는 소유권을 가져와서 사용이 완료되면 매체를 해제합니다. fReleaseFALSE이면 호출자는 소유권을 유지하고 매체를 해제할 책임이 있습니다. 캐시는 호출 기간 동안에만 스토리지 매체를 사용할 수 있습니다.

반환 값

이 메서드는 성공에 대한 S_OK 반환합니다. 가능한 다른 반환 값은 다음과 같습니다.

반환 코드 설명
DV_E_LINDEX
값이 pformatetc-lindex>에 유효하지 않습니다. 현재 -1만 지원됩니다.
DV_E_FORMATETC
FORMATETC 구조체가 잘못되었습니다.
DV_E_TYMED
값이 pformatetc-tymed>에 유효하지 않습니다.
DV_E_DVASPECT
값이 pformatetc-dwAspect>에 유효하지 않습니다.
OLE_E_BLANK
초기화되지 않은 개체가 있습니다.
DV_E_TARGETDEVICE
개체가 정적이며 pformatetc-ptd>가 NULL이 아닌 경우
STG_E_MEDIUMFULL
스토리지 미디어가 가득 찼습니다.

설명

IOleCache::SetData 는 일반적으로 개체가 클립보드에서 생성되거나 끌어서 놓기 작업을 통해 생성되고 원본 데이터 포함을 사용하여 개체를 만들 때 호출됩니다.

IOleCache::SetDataIOleCache::InitCache 는 매우 유사합니다. 두 가지 기본 차이점이 있습니다. 첫 번째 차이점은 IOleCache::InitCache 가 데이터 개체에서 제공하는 프레젠테이션 형식으로 캐시를 초기화하는 동안 IOleCache::SetData 가 단일 형식으로 초기화한다는 것입니다. 둘째, IOleCache::SetData 메서드는 ADVF_NODATA 플래그를 무시하고 IOleCache::InitCache 는 이 플래그를 준수합니다.

컨테이너는 이 메서드를 사용하여 개체의 아이콘 측면과 같은 개체의 단일 측면을 유지할 수 있습니다.

요구 사항

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

추가 정보

IOleCache

IOleCache::Cache

IOleCache::SetData