OleConvertOLESTREAMToIStorage 함수(ole2.h)
OleConvertOLESTREAMToIStorage 함수는 프레젠테이션 데이터를 지정하지 않고 지정된 개체를 OLE 1 스토리지 모델에서 OLE 2 구조적 스토리지 개체로 변환합니다.
구문
HRESULT OleConvertOLESTREAMToIStorage(
[in] LPOLESTREAM lpolestream,
[out] LPSTORAGE pstg,
[in] const DVTARGETDEVICE *ptd
);
매개 변수
[in] lpolestream
개체의 영구 표현을 OLE 1 스토리지 형식으로 포함하는 스트림에 대한 포인터입니다.
[out] pstg
OLE 2 구조적 스토리지 개체의 IStorage 인터페이스에 대한 포인터입니다.
[in] ptd
OLE 1 개체가 렌더링되는 대상 디바이스를 지정하는 DVTARGETDEVICE 구조체에 대한 포인터입니다.
반환 값
이 함수는 다음 외에도 E_INVALIDARG 표준 반환 값을 지원합니다.
설명
이 함수는 OLE 1 개체를 OLE 2 구조적 스토리지 개체로 변환합니다. 새 버전의 개체 애플리케이션에서 OLE 2를 지원하는 경우 이 함수를 사용하여 OLE 1 개체를 OLE 2 개체로 업데이트합니다.
항목에서 lpolestm 매개 변수를 만들고 OleLoadFromStream 함수 호출과 마찬가지로 배치해야 합니다. 종료 시 lpolestm 매개 변수는 OleLoadFromStream 함수에서 종료될 때와 마찬가지로 배치되고 pstg 매개 변수에는 OLE 2 스토리지 개체의 커밋되지 않은 영구 표현이 포함됩니다.
프레젠테이션에 네이티브 데이터를 사용하는 OLE 1 개체의 경우 OleConvertOLESTREAMToIStorage 함수는 CONVERT10_S_NO_PRESENTATION 반환합니다. 이 반환 값을 받으면 호출자는 IOleObject::Update 를 호출하여 프레젠테이션 데이터를 가져와 스토리지에 쓸 수 있도록 해야 합니다.
OLE 기본 캐싱 리소스를 사용하지 않지만 변환 리소스를 사용하는 애플리케이션은 변환할 프레젠테이션 데이터를 지정할 수 있는 대체 함수 인 OleConvertOLESTREAMToIStorageEx를 사용할 수 있습니다. OleConvertOLESTREAMToIStorageEx 함수에서 OLESTREAM 구조에서 읽은 프레젠테이션 데이터가 전달되고 새로 만든 OLE 2 스토리지 개체에 프레젠테이션 스트림이 없습니다.
다음 절차에서는 OleConvertOLESTREAMToIStorage를 사용하는 변환 프로세스에 대해 설명합니다.
OLE 1 개체를 OLE 2 스토리지 개체로 변환
- StgCreateDocfile 함수(..., &pstg)를 호출하여 루트 IStorage 개체를 만듭니다.
- OLE 1 파일을 엽니다( OpenFile 또는 다른 OLE 1 기술 사용).
- OLE 개체를 찾을 때까지 파일을 읽기 위해 OLE 1 프로시저를 사용하여 파일에서 읽습니다.
- 1단계에서 만든 루트 IStorage에서 IStorage 개체를 할당합니다.
pstg->lpVtbl->CreateStorage(...&pStgChild); hRes = OleConvertIStorageToOLESTREAM(polestm, pStgChild); hRes = OleLoad(pStgChild, &IID_IOleObject, pClientSite, ppvObj);
- 파일을 완전히 읽을 때까지 3단계를 반복합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional[데스크톱 앱만] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
대상 플랫폼 | Windows |
헤더 | ole2.h |
라이브러리 | Ole32.lib |
DLL | Ole32.dll |
추가 정보
OleConvertIStorageToOLESTREAMEx