Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Cria um objeto estático, que contém apenas uma representação, sem dados nativos, de um objeto de transferência de dados.
Sintaxe
HRESULT OleCreateStaticFromData(
[in] LPDATAOBJECT pSrcDataObj,
[in] REFIID iid,
[in] DWORD renderopt,
[in] LPFORMATETC pFormatEtc,
[in] LPOLECLIENTSITE pClientSite,
[in] LPSTORAGE pStg,
[out] LPVOID *ppvObj
);
Parâmetros
[in] pSrcDataObj
Ponteiro para a interface IDataObject no objeto de transferência de dados que contém os dados dos quais o objeto será criado.
[in] iid
Referência ao identificador da interface com a qual o chamador deve se comunicar com o novo objeto (geralmente IID_IOleObject, definido nos cabeçalhos OLE como o identificador de interface para IOleObject).
[in] renderopt
Valor da enumeração OLERENDER indicando os recursos de desenho ou recuperação de dados armazenados em cache localmente que o contêiner deseja no componente recém-criado. É um erro passar as opções de renderização OLERENDER_NONE ou OLERENDER_ASIS para essa função.
[in] pFormatEtc
Dependendo de qual dos sinalizadores OLERENDER é usado como o valor de renderopt, pode ser um ponteiro para um dos valores de enumeração FORMATETC . Consulte a enumeração OLERENDER para obter restrições.
[in] pClientSite
Ponteiro para uma instância do IOleClientSite, a interface primária por meio da qual o objeto solicitará serviços de seu contêiner. Este parâmetro pode ser NULL.
[in] pStg
Ponteiro para a interface IStorage para armazenamento para o objeto . Esse parâmetro não pode ser NULL.
[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-criado.
Retornar valor
Essa função retorna S_OK em caso de êxito.
Comentários
A função OleCreateStaticFromData pode converter qualquer objeto, desde que forneça uma interface IDataObject , em um objeto estático. É útil implementar a opção Converter em Imagem para vinculação ou inserção OLE.
Objetos estáticos só poderão ser criados se a origem der suporte a um dos formatos de área de transferência renderizados por OLE: CF_METAFILEPICT, CF_DIB ou CF_ BITMAP e CF_ENHMETAFILE.
Você também pode chamar OleCreateStaticFromData para colar um objeto estático da área de transferência. Para determinar se um objeto é estático, chame a função OleQueryCreateFromData , que retorna OLE_S_STATIC se um dos CF_METAFILEPICT, CF_DIB, CF_BITMAP ou CF_ENHMETAFILE estiver presente e um formato OLE não estiver presente. Isso indica que você deve chamar OleCreateStaticFromData em vez da função OleCreateFromData para criar o objeto.
O novo objeto estático é da classe CLSID_StaticMetafile no caso de CF_METAFILEPICT, CLSID_StaticDib no caso de CF_DIB ou CF_BITMAP ou CLSID_Picture_EnhMetafile no caso de CF_ENHMETAFILE. O objeto estático define o OLEMISC_STATIC e OLE_CANTLINKINSIDE bits retornados de IOleObject::GetMiscStatus. O objeto estático terá o aspecto DVASPECT_CONTENT e um LINDEX de -1.
O pSrcDataObject ainda é válido após o retorno de OleCreateStaticFromData . É responsabilidade do chamador liberar pSrcDataObject – o OLE não o libera.
Não pode haver mais de um fluxo de apresentação em um objeto estático.
Requisitos
| Requisito | Valor |
|---|---|
| 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 |