OleCreateStaticFromData 함수(ole2.h)
데이터 전송 개체에서 네이티브 데이터가 없는 표현만 포함하는 정적 개체를 만듭니다.
구문
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를 갖습니다.
pSrcDataObject는 OleCreateStaticFromData가 반환된 후에도 여전히 유효합니다. pSrcDataObject를 해제하는 것은 호출자의 책임입니다. OLE는 이를 해제하지 않습니다.
정적 개체에는 둘 이상의 프레젠테이션 스트림이 있을 수 없습니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional[데스크톱 앱만] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
대상 플랫폼 | Windows |
헤더 | ole2.h |
라이브러리 | Ole32.lib |
DLL | Ole32.dll |