OleDoAutoConvert 함수(ole2.h)
레지스트리에서 해당 개체 클래스에 대한 자동 변환이 설정된 경우 개체를 새 클래스로 자동으로 변환합니다.
구문
HRESULT OleDoAutoConvert(
[in] LPSTORAGE pStg,
[out] LPCLSID pClsidNew
);
매개 변수
[in] pStg
변환할 스토리지 개체의 IStorage 인터페이스에 대한 포인터입니다.
[out] pClsidNew
변환되는 개체에 대한 새 CLSID에 대한 포인터입니다. 자동 변환이 없으면 원래 클래스와 같을 수 있습니다.
반환 값
이 함수는 다음 값뿐만 아니라 E_INVALIDARG, E_OUTOFMEMORY 및 E_UNEXPECTED 표준 반환 값을 반환할 수 있습니다.
반환 코드 | Description |
---|---|
|
변환이 필요하지 않거나 변환이 성공적으로 완료되었습니다. |
|
함수는 레지스트리에서 키를 읽을 수 없습니다. |
이 함수는 OleGetAutoConvert 함수에서 반환한 오류 값을 반환할 수도 있습니다. 스토리지 및 스트림 개체에 액세스할 때 가능한 오류 는 IStorage::OpenStorage 및 IStorage::OpenStream 메서드를 참조하세요. 기존 CLSID를 확인할 수 없거나 스토리지 개체를 새 정보로 업데이트할 수 없는 경우 다른 오류 반환 값은 IStream 인터페이스를 참조하세요.
설명
OleDoAutoConvert 는 OleSetAutoConvert 함수에 의해 레지스트리에서 자동 변환을 이전에 지정한 경우 개체를 자동으로 변환합니다. 개체 변환은 개체가 새 CLSID와 영구적으로 연결됨을 의미합니다. 자동 변환은 일반적으로 새 버전의 개체 애플리케이션에 대한 설치 프로그램에 의해 지정되므로 이전 버전에서 만든 개체를 자동으로 업데이트할 수 있습니다.
OleDoAutoConvert가 호출될 때 스토리지 개체가 언로드된 상태여야 합니다.
개체 변환을 지원하는 컨테이너 애플리케이션은 개체를 로드할 때마다 OleDoAutoConvert 를 호출해야 합니다. 컨테이너가 OleLoad 도우미 함수를 사용하는 경우 OleLoad가 내부적으로 호출하기 때문에 OleDoAutoConvert를 명시적으로 호출할 필요가 없습니다.
OleDoAutoConvert 는 먼저 변환이 필요하지 않은 경우 S_OK 반환하는 OleGetAutoConvert 함수를 호출하여 변환이 필요한지 여부를 결정합니다. 개체에 변환이 필요한 경우 OleDoAutoConvert 는 새 개체 애플리케이션을 활성화하여 스토리지 개체를 수정하고 변환합니다. 새 개체 애플리케이션은 기존 데이터 형식을 읽지만 개체 애플리케이션에 대한 새 네이티브 형식으로 개체를 저장합니다.
자동으로 변환할 개체가 OLE 1 개체인 경우 ItemName 문자열은 "\1Ole10ItemName"이라는 스트림에 저장됩니다. 이 스트림이 없으면 개체의 항목 이름은 NULL입니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional[데스크톱 앱만] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
대상 플랫폼 | Windows |
헤더 | ole2.h |
라이브러리 | Ole32.lib |
DLL | Ole32.dll |