Interface IMDEmbedded
A interface IMDEmbedded é uma interface pública usada para gerenciar um banco de dados do PowerPivot inserido ou um banco de dados modelo de tabela. A interface herda da interface IPersistStream. A interface permite as seguintes operações:
Obter um identificador do fluxo inserido no documento contêiner.
Definir a URL do documento contêiner.
Definir um sinalizador para indicar se o aplicativo inserido está em um ambiente hospedado.
Definir o caminho para os arquivos temporários usados pelo aplicativo inserido.
Cancelar a operação inserida atual.
Obter o tamanho estimado (em bytes) do fluxo para salvar o objeto inserido. Herdado de IPersistStream.
Verificar se o banco de dados inserido foi alterado após ser salvo pela última vez. Herdado de IPersistStream.
Carregar o banco de dados inserido para o mecanismo local ou em processo. Herdado de IPersistStream.
Salvar o banco de dados local ou em processo para o fluxo inserido no documento contêiner. Herdado de IPersistStream.
Referência
A referência a seguir documenta a interface IMDEmbedded como é apresentada no arquivo de cabeçalho msmd.h.
Arquivo de origem: PXOEmbeddedData.idl
[
local,
object,
uuid(6B6691CF-5453-41c2-ADD9-4F320B7FD421),
pointer_default(unique)
]
interface IMDEmbeddedData : IPersistStream
{
[id(1), helpstring("Set flag indicating if the application is in a hosted environment")]
HRESULT SetHosted(
[in] BOOL in_fIsHosted);
[id(2), helpstring("Set the URL for the document containing the embedded stream")]
HRESULT SetContainerURL(
[in] BSTR in_bstrURL);
[id(3), helpstring("Get identifier used to look up embedded stream in container document")]
HRESULT GetStreamIdentifier(
[out, retval] BSTR* out_pbstrStreamId);
[id(4), helpstring("Set the path used by the embedding application for temporary files")]
HRESULT SetTempDirPath(
[in] BSTR in_bstrPath);
[id(5), helpstring("Cancel the current operation")]
HRESULT Cancel();
};
IMDEmbeddedData::GetStreamIdentifier
HRESULT GetStreamIdentifier (
[out, retval] BSTR * out_pbstrStreamId
)
Descrição
Obtém o identificador usado pelo aplicativo de host para o fluxo inserido no documento contêiner.
Parâmetros
- out_pbstrStreamId
Especifica o local do identificador de fluxo.
Valor de retorno
S_OK
O identificador de fluxo foi retornado com êxito.S_FALSE
Não há nenhum identificador de fluxo.E_FAIL
Erro ao acessar o identificador de fluxo.
Comentários
Para verificar se a conexão atual contém um banco de dados inserido, o usuário deve verificar o valor da propriedade DBPROP_MSMD_EMBEDDED_DATA nas propriedades de conexão OLE DB.
Os valores possíveis para DBPROP_MSMD_EMBEDDED_DATA são:
Nome |
Valor |
Definição |
---|---|---|
DBPROPVAL_EMBED_NONE |
0x00 |
Nenhum banco de dados inserido disponível |
DBPROPVAL_EMBED_EMBEDDED |
0x01 |
O aplicativo atual contém o banco de dados inserido |
DBPROPVAL_EMBED_LINKED |
0x02 |
O banco de dados inserido está hospedado em um aplicativo remoto (p. ex., SharePoint Server) |
Origem
[id(1), helpstring("Get identifier used to look up embedded stream in container document")]
HRESULT GetStreamIdentifier(
[out, retval] BSTR* out_pbstrStreamId);
IMDEmbeddedData::SetContainerURL
HRESULT SetContainerURL (
[in] BSTR in_bstrURL
)
Descrição
Define a URL para o arquivo que contém o fluxo inserido.
Parâmetros
- in_bstrURL
Especifica a URL para o documento contêiner.
Valor de retorno
S_OK
A URL do contêiner foi definida com êxito.E_FAIL
Erro ao definir a URL do contêiner.
Origem
[id(2), helpstring("Set the URL for the document containing the embedded stream")]
HRESULT SetContainerURL(
[in] BSTR in_bstrURL);
IMDEmbeddedData::SetHosted
HRESULT SetHosted (
[in] BOOL in_fIsHosted
)
Descrição
Definir um sinalizador para indicar se o aplicativo inserido está em um ambiente hospedado.
Parâmetros
- in_ftHosted
TRUE se o chamador estiver hospedado em um aplicativo de serviço (como o IIS).
Valor de retorno
S_OK
O sinalizador foi definido com êxito.E_FAIL
Erro ao definir o sinalizador.
Origem
[id(5), helpstring("Set flag indicating if the application is in a hosted environment")]
HRESULT SetHosted(
[in] BOOL in_fIsHosted);
IMDEmbeddedData::SetTempDirPath
HRESULT SetTempDirPath (
[in] BSTR in_bstrPath
)
Descrição
Definir o caminho para os arquivos temporários usados pelo aplicativo inserido.
Parâmetros
- in_bstrPath
O caminho usado pelo aplicativo de host para arquivos temporários.
Valor de retorno
S_OK
O diretório de arquivos temporários foi definido com êxito.E_FAIL
Erro ao definir o caminho.
Origem
[id(4), helpstring("Set the path used by the host application for temporary files")]
HRESULT SetTempDirPath(
[in] BSTR in_bstrPath);
IMDEmbeddedData::Cancel
HRESULT Cancel ( void )
Descrição
Cancela a operação de banco de dados inserida atual.
Parâmetros
Nenhum.
Valor de retorno
S_OK
A operação foi cancelada com êxito.DB_E_CANTCANCEL
Nenhuma operação cancelável está em andamento atualmente.E_FAIL
Erro ao cancelar a operação inserida.
Origem
[id(5), helpstring("Cancel the current operation")]
HRESULT Cancel();
IMDEmbeddedData::GetSizeMax (IPersistStream::GetSizeMax)
HRESULT GetSizeMax (
[out] ULARGE_INTEGER * out_pcbSize
)
Descrição
Obtém o tamanho estimado (em bytes) do fluxo para salvar o objeto inserido. Herdado de IPersistStream.
Parâmetros
- in_bstrPath
O tamanho estimado (em bytes) da imagem de banco de dados inserida.
Valor de retorno
S_OK
O tamanho foi obtido com êxito.E_FAIL
Erro ao obter o tamanho.
IMDEmbeddedData::IsDirty (IPersistStream::IsDirty)
HRESULT IsDirty ( void )
Descrição
Verifica se o banco de dados inserido foi alterado após ser salvo pela última vez. Herdado de IPersistStream.
Parâmetros
none
Valor(es) de retorno
S_OK
O banco de dados foi alterado desde que foi salvo pela última vez.S_FALSE
O banco de dados não foi alterado desde que foi salvo pela última vez.E_FAIL
Erro ao obter o estado do banco de dados.
IMDEmbeddedData::Load (IPersistStream::Load)
HRESULT Load (
[in] IStream * in_pStm
)
Descrição
Carrega o banco de dados inserido para o mecanismo local ou em processo. Herdado de IPersistStream.
Parâmetros
- in_pStm
Um ponteiro para uma interface de fluxo da qual deverá ser carregado o banco de dados inserido.
Valor(es) de retorno
S_OK
O banco de dados foi carregado com êxito.E_OUTOFMEMORY
Memória insuficiente para carregar o banco de dados.E_FAIL
Erro diferente de E_OUTOFMEMORY ao carregar o banco de dados.
IMDEmbeddedData::Save (IPersistStream::Save)
HRESULT Save (
[in] IStream * in_pStm,
[in] BOOL in_fClearDirty
)
Descrição
Salva o banco de dados local ou em processo para o fluxo inserido no documento contêiner. Herdado de IPersistStream.
Parâmetros
in_pStm
Um ponteiro para uma interface de fluxo na qual deverá ser salvo o banco de dados inserido.in_fClearDirty
Um sinalizador que indica se o sinalizador sujo deve ser limpo após esta operação.
Valor(es) de retorno
S_OK
O banco de dados foi salvo com êxito.STG_E_CANTSAVE
Erro diferente de STG_E_MEDIUMFULL ao salvar o banco de dados.STG_E_MEDIUMFULL
Não foi possível salvar o banco de dados porque não há espaço remanescente no dispositivo de armazenamento.