Função OleLoad (ole2.h)
Carrega na memória um objeto aninhado em um objeto de armazenamento especificado.
Sintaxe
HRESULT OleLoad(
[in] LPSTORAGE pStg,
[in] REFIID riid,
[in] LPOLECLIENTSITE pClientSite,
[out] LPVOID *ppvObj
);
Parâmetros
[in] pStg
Ponteiro para a interface IStorage no objeto de armazenamento do qual carregar o objeto especificado.
[in] riid
Referência ao identificador da interface que o chamador deseja usar para se comunicar com o objeto depois que ele é carregado.
[in] pClientSite
Ponteiro para a interface IOleClientSite no objeto do site do cliente que está sendo carregado.
[out] ppvObj
Endereço da variável de ponteiro que recebe o ponteiro de interface solicitado em riid. Após o retorno bem-sucedido, *ppvObj contém o ponteiro de interface solicitado no objeto recém-carregado.
Valor retornado
Essa função retorna S_OK em caso de êxito. Outros valores possíveis incluem o seguinte.
Código de retorno | Descrição |
---|---|
|
O objeto não dá suporte à interface especificada. |
Além disso, essa função pode retornar qualquer um dos valores de erro retornados pelo método IPersistStorage::Load .
Comentários
Os contêineres OLE carregam objetos na memória chamando essa função. Ao chamar a função OleLoad , o aplicativo contêiner passa um ponteiro para o objeto de armazenamento aberto no qual o objeto aninhado é armazenado. Normalmente, o objeto aninhado a ser carregado é um objeto de armazenamento filho para o objeto de armazenamento raiz do contêiner. Usando as informações OLE armazenadas com o objeto , o manipulador de objetos (geralmente, o manipulador padrão) tenta carregar o objeto. Após a conclusão da função OleLoad , diz-se que o objeto está no estado carregado com seu aplicativo de objeto não em execução.
Alguns aplicativos carregam todos os dados nativos do objeto. Os contêineres geralmente adiam o carregamento dos objetos contidos até que seja necessário fazê-lo. Por exemplo, até que um objeto seja rolado para a exibição e precise ser desenhado, ele não precisa ser carregado.
A função OleLoad executa as seguintes etapas:
- Se necessário, executa uma conversão automática do objeto (consulte a função OleDoAutoConvert ).
- Obtém o CLSID do objeto de armazenamento aberto chamando o método IStorage::Stat .
- Chama a função CoCreateInstance para criar uma instância do manipulador. Se o código do manipulador não estiver disponível, o manipulador padrão será usado (consulte a função OleCreateDefaultHandler ).
- Chama o método IOleObject::SetClientSite com o parâmetro pClientSite para informar o objeto de seu site cliente.
- Chama o método QueryInterface para a interface IPersistStorage . Se tiver êxito, o método IPersistStorage::Load será invocado para o objeto .
- Consulta e retorna a interface identificada pelo parâmetro riid .
Requisitos
Cliente mínimo com suporte | Windows 2000 Professional [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows 2000 Server [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | ole2.h |
Biblioteca | Ole32.lib |
DLL | Ole32.dll |