Oharra
Baimena behar duzu orria atzitzeko. Direktorioetan saioa has dezakezu edo haiek alda ditzakezu.
Baimena behar duzu orria atzitzeko. Direktorioak alda ditzakezu.
Carga en memoria un objeto anidado dentro de un objeto de almacenamiento especificado.
Sintaxis
HRESULT OleLoad(
[in] LPSTORAGE pStg,
[in] REFIID riid,
[in] LPOLECLIENTSITE pClientSite,
[out] LPVOID *ppvObj
);
Parámetros
[in] pStg
Puntero a la interfaz IStorage en el objeto de almacenamiento desde el que se va a cargar el objeto especificado.
[in] riid
Referencia al identificador de la interfaz que el autor de la llamada quiere usar para comunicarse con el objeto después de cargarlo.
[in] pClientSite
Puntero a la interfaz IOleClientSite en el objeto de sitio cliente que se está cargando.
[out] ppvObj
Dirección de la variable de puntero que recibe el puntero de interfaz solicitado en riid. Tras la devolución correcta, *ppvObj contiene el puntero de interfaz solicitado en el objeto recién cargado.
Valor devuelto
Esta función devuelve S_OK si se ejecuta correctamente. Otros valores posibles son los siguientes.
| Código devuelto | Descripción |
|---|---|
|
El objeto no admite la interfaz especificada. |
Además, esta función puede devolver cualquiera de los valores de error devueltos por el método IPersistStorage::Load .
Comentarios
Los contenedores OLE cargan objetos en la memoria mediante una llamada a esta función. Al llamar a la función OleLoad , la aplicación contenedora pasa un puntero al objeto de almacenamiento abierto en el que se almacena el objeto anidado. Normalmente, el objeto anidado que se va a cargar es un objeto de almacenamiento secundario en el objeto de almacenamiento raíz del contenedor. Con la información OLE almacenada con el objeto , el controlador de objetos (normalmente, el controlador predeterminado) intenta cargar el objeto. Al finalizar la función OleLoad , se dice que el objeto está en estado cargado con su aplicación de objeto que no se está ejecutando.
Algunas aplicaciones cargan todos los datos nativos del objeto. Los contenedores a menudo aplazan la carga de los objetos contenidos hasta que sea necesario hacerlo. Por ejemplo, hasta que se desplaza un objeto a la vista y es necesario dibujarlo, no es necesario cargarlo.
La función OleLoad realiza los pasos siguientes:
- Si es necesario, realiza una conversión automática del objeto (vea la función OleDoAutoConvert ).
- Obtiene el CLSID del objeto de almacenamiento abierto llamando al método IStorage::Stat .
- Llama a la función CoCreateInstance para crear una instancia del controlador. Si el código del controlador no está disponible, se usa el controlador predeterminado (consulte la función OleCreateDefaultHandler ).
- Llama al método IOleObject::SetClientSite con el parámetro pClientSite para informar al objeto de su sitio cliente.
- Llama al método QueryInterface para la interfaz IPersistStorage . Si se ejecuta correctamente, se invoca el método IPersistStorage::Load para el objeto .
- Consulta y devuelve la interfaz identificada por el parámetro riid .
Requisitos
| 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 | ole2.h |
| Library | Ole32.lib |
| Archivo DLL | Ole32.dll |