Método IPersistStorage::Load (objidl.h)
Carga un objeto de su almacenamiento existente.
Sintaxis
HRESULT Load(
[in] IStorage *pStg
);
Parámetros
[in] pStg
Puntero de IStorage al almacenamiento existente desde el que se va a cargar el objeto.
Valor devuelto
Este método puede devolver los siguientes valores.
Código devuelto | Descripción |
---|---|
|
El método se completó correctamente. |
|
El objeto ya se ha inicializado mediante una llamada anterior al método IPersistStorage::Load o al método IPersistStorage::InitNew . |
|
El objeto no se cargó debido a la falta de memoria. |
|
El objeto no se cargó debido a algún motivo distinto de la falta de memoria. |
Comentarios
Este método inicializa un objeto a partir de un almacenamiento existente. El objeto se coloca en el estado cargado si la aplicación contenedora llama a este método. Si lo llama el controlador predeterminado, este método coloca el objeto en estado de ejecución.
El controlador predeterminado o el propio objeto pueden contener el puntero IStorage mientras se carga o se ejecuta el objeto.
Notas a los autores de llamadas
En lugar de llamar directamente a IPersistStorage::Load , normalmente se llama a la función auxiliar OleLoad que hace lo siguiente:- Cree una instancia sin inicializar de la clase de objeto.
- Consulte la nueva instancia para la interfaz IPersistStorage .
- Llame a Load para inicializar el objeto desde el almacenamiento existente.
El contenedor debe almacenar en caché el puntero IPersistStorage para su uso en operaciones posteriores en el objeto .
Notas para los implementadores
La implementación debe realizar los pasos siguientes para cargar un objeto:- Abra las secuencias del objeto en el objeto de almacenamiento y lea los datos necesarios en las estructuras de datos internas del objeto.
- Borre la marca de sucio del objeto.
- Llame al método AddRef y almacene en caché el puntero de almacenamiento pasado.
- Mantenga abiertos y almacenes en caché los punteros a los flujos o almacenamientos que el objeto tendrá que guardar en este almacenamiento.
- Realice cualquier otra inicialización predeterminada necesaria para el objeto .
La implementación de este método debe devolver el código de error CO_E_ALREADYINITIALIZED si recibe una llamada al método IPersistStorage::InitNew o al método IPersistStorage::Load después de que ya se haya inicializado.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 2000 Professional [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows 2000 Server [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | objidl.h |