IPersistStorage::Load 메서드(objidl.h)
기존 스토리지에서 개체를 로드합니다.
구문
HRESULT Load(
[in] IStorage *pStg
);
매개 변수
[in] pStg
개체를 로드할 기존 스토리지에 대한 IStorage 포인터입니다.
반환 값
이 메서드는 다음 값을 반환할 수 있습니다.
반환 코드 | Description |
---|---|
|
메서드가 완료되었습니다. |
|
개체는 IPersistStorage::Load 메서드 또는 IPersistStorage::InitNew 메서드에 대한 이전 호출에 의해 이미 초기화되었습니다. |
|
메모리 부족으로 인해 개체가 로드되지 않았습니다. |
|
메모리 부족 이외의 이유로 인해 개체가 로드되지 않았습니다. |
설명
이 메서드는 기존 스토리지에서 개체를 초기화합니다. 컨테이너 애플리케이션에서 이 메서드를 호출하면 개체가 로드된 상태에 배치됩니다. 기본 처리기에서 호출되는 경우 이 메서드는 개체를 실행 중 상태로 설정합니다.
개체가 로드되거나 실행되는 동안 기본 처리기 또는 개체 자체가 IStorage 포인터를 유지할 수 있습니다.
발신자에게 참고 사항
IPersistStorage::Load를 직접 호출하는 대신 일반적으로 다음을 수행하는 OleLoad 도우미 함수를 호출합니다.- 개체 클래스의 초기화되지 않은 instance 만듭니다.
- IPersistStorage 인터페이스에 대한 새 instance 쿼리합니다.
- Load를 호출하여 기존 스토리지에서 개체를 초기화합니다.
컨테이너는 개체에 대한 이후 작업에서 사용할 IPersistStorage 포인터를 캐시해야 합니다.
구현자에 대한 참고 사항
구현은 다음 단계를 수행하여 개체를 로드해야 합니다.- 스토리지 개체에서 개체의 스트림을 열고 필요한 데이터를 개체의 내부 데이터 구조로 읽습니다.
- 개체의 더티 플래그를 지웁 수 있습니다.
- AddRef 메서드를 호출하고 전달된 스토리지 포인터를 캐시합니다.
- 개체가 이 스토리지에 자체 저장해야 하는 스트림 또는 스토리지에 대한 포인터를 열어 두고 캐시합니다.
- 개체에 필요한 다른 기본 초기화를 수행합니다.
이 메서드의 구현은 IPersistStorage::InitNew 메서드 또는 IPersistStorage:: Load 메서드가 이미 초기화된 후 호출을 수신하는 경우 CO_E_ALREADYINITIALIZED 오류 코드를 반환해야 합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional[데스크톱 앱만] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
대상 플랫폼 | Windows |
헤더 | objidl.h |