Share via


OleCreateStaticFromData 함수(ole2.h)

데이터 전송 개체에서 네이티브 데이터가 없는 표현만 포함하는 정적 개체를 만듭니다.

참고 또한 OLESTREAM에서 IStorage 로 변환 함수는 정적 개체를 변환합니다.
 

구문

HRESULT OleCreateStaticFromData(
  [in]  LPDATAOBJECT    pSrcDataObj,
  [in]  REFIID          iid,
  [in]  DWORD           renderopt,
  [in]  LPFORMATETC     pFormatEtc,
  [in]  LPOLECLIENTSITE pClientSite,
  [in]  LPSTORAGE       pStg,
  [out] LPVOID          *ppvObj
);

매개 변수

[in] pSrcDataObj

개체를 만들 데이터를 보유하는 데이터 전송 개체의 IDataObject 인터페이스에 대한 포인터입니다.

[in] iid

호출자가 새 개체와 통신할 인터페이스의 식별자에 대한 참조입니다(일반적으로 IOleObject의 인터페이스 식별자로 OLE 헤더에 정의된 IID_IOleObject).

[in] renderopt

컨테이너가 새로 만든 구성 요소에서 원하는 로컬로 캐시된 그리기 또는 데이터 검색 기능을 나타내는 열거형 OLERENDER 의 값입니다. 렌더링 옵션을 OLERENDER_NONE 전달하거나 이 함수에 OLERENDER_ASIS 오류입니다.

[in] pFormatEtc

renderopt 값으로 사용되는 OLERENDER 플래그 중 어느 것에 따라 는 FORMATETC 열거형 값 중 하나에 대한 포인터일 수 있습니다. 제한 사항은 OLERENDER 열거형을 참조하세요.

[in] pClientSite

개체가 컨테이너에서 서비스를 요청하는 기본 인터페이스인 IOleClientSite의 instance 대한 포인터입니다. 이 매개 변수는 NULL일 수 있습니다.

[in] pStg

개체의 스토리지에 대한 IStorage 인터페이스에 대한 포인터입니다. 이 매개 변수는 NULL일 수 없습니다.

[out] ppvObj

riid에서 요청된 인터페이스 포인터를 수신하는 포인터 변수의 주소입니다. 반환이 성공하면 *ppvObj 는 새로 만든 개체에 대해 요청된 인터페이스 포인터를 포함합니다.

반환 값

이 함수는 성공에 대한 S_OK 반환합니다.

설명

OleCreateStaticFromData 함수는 IDataObject 인터페이스를 제공하는 한 모든 개체를 정적 개체로 변환할 수 있습니다. OLE 연결 또는 포함을 위해 그림으로 변환 옵션을 구현하는 데 유용합니다.

원본이 OLE 렌더링 클립보드 형식(CF_METAFILEPICT, CF_DIB 또는 CF_ BITMAP 및 CF_ENHMETAFILE 중 하나를 지원하는 경우에만 정적 개체를 만들 수 있습니다.

OleCreateStaticFromData를 호출하여 클립보드에서 정적 개체를 붙여넣을 수도 있습니다. 개체가 정적인지 확인하려면 OleQueryCreateFromData 함수를 호출합니다. 이 함수는 CF_METAFILEPICT, CF_DIB, CF_BITMAP 또는 CF_ENHMETAFILE 중 하나가 있고 OLE 형식이 없는 경우 OLE_S_STATIC 반환합니다. 이는 OleCreateFromData 함수 대신 OleCreateStaticFromData를 호출하여 개체를 만들어야 했음을 나타냅니다.

새 정적 개체는 CF_METAFILEPICT 경우 클래스 CLSID_StaticMetafile, CF_DIB 또는 CF_BITMAP 경우 CLSID_StaticDib 또는 CF_ENHMETAFILE 경우 CLSID_Picture_EnhMetafile. 정적 개체는 IOleObject::GetMiscStatus에서 반환된 OLEMISC_STATIC 및 OLE_CANTLINKINSIDE 비트를 설정합니다. 정적 개체는 DVASPECT_CONTENT 측면과 -1의 LINDEX를 갖습니다.

pSrcDataObjectOleCreateStaticFromData가 반환된 후에도 여전히 유효합니다. pSrcDataObject를 해제하는 것은 호출자의 책임입니다. OLE는 이를 해제하지 않습니다.

정적 개체에는 둘 이상의 프레젠테이션 스트림이 있을 수 없습니다.

요구 사항

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

추가 정보

OleCreateFromData