Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
La interfaz IMDEmbedded es una interfaz pública que se usa para administrar una base de datos PowerPivot incrustada o una base de datos de modelo tabular. La interfaz hereda de la IPersistStream interfaz . La interfaz permite las siguientes operaciones:
Obtenga un identificador para el flujo incrustado en el documento de contenedor.
Establezca la dirección URL del documento contenedor.
Establezca una marca para indicar si la aplicación de inserción está en un entorno hospedado.
Establezca la ruta de acceso a los archivos temporales usados por la aplicación de inserción.
Cancele la operación insertada actual.
Obtenga el tamaño estimado (en bytes) de la secuencia para guardar el objeto incrustado. Se hereda de
IPersistStream.Compruebe si la base de datos incrustada ha cambiado desde que se guardó por última vez. Se hereda de
IPersistStream.Cargue la base de datos insertada en el motor local o en proceso. Se hereda de
IPersistStream.Guarde la base de datos local o en proceso en la secuencia insertada en el documento de contenedor. Se hereda de
IPersistStream.
Referencia
La siguiente referencia documenta la IMDEmbedded interfaz tal como se muestra en el archivo de encabezado msmd.h .
Archivo de origen: 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
)
Descripción
Obtiene el identificador utilizado por la aplicación host para el flujo incrustado en el documento de contenedor.
Parámetros
out_pbstrStreamId
Especifica la ubicación del identificador de flujo.
Valor devuelto
S_OK
El identificador de flujo se devolvió correctamente.
S_FALSE
No hay ningún identificador de flujo.
E_FAIL
Error al acceder al identificador de flujo.
Observaciones
Para comprobar si la conexión actual contiene una base de datos incrustada, el usuario debe comprobar el valor de la propiedad DBPROP_MSMD_EMBEDDED_DATA de las propiedades de conexión OLE DB.
Los valores posibles para DBPROP_MSMD_EMBEDDED_DATA son:
| Nombre | Importancia | Definición |
|---|---|---|
| DBPROPVAL_EMBED_NONE | 0x00 | No hay ninguna base de datos incrustada disponible |
| DBPROPVAL_EMBED_EMBEDDED | 0x01 | La aplicación actual contiene la base de datos incrustada. |
| DBPROPVAL_EMBED_LINKED | 0x02 | La base de datos incrustada se hospeda en una aplicación remota (es decir, SharePoint Server) |
Fuente
[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
)
Descripción
Establece la dirección URL del archivo que contiene la secuencia incrustada.
Parámetros
in_bstrURL
Especifica la dirección URL del documento contenedor.
Valor devuelto
S_OK
La dirección URL del contenedor se estableció correctamente.
E_FAIL
Error al establecer la dirección URL del contenedor.
Fuente
[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
)
Descripción
Establezca una marca para indicar si la aplicación de inserción está en un entorno hospedado.
Parámetros
in_ftHosted
TRUE si el autor de la llamada está hospedado en una aplicación de servicio (como IIS).
Valor devuelto
S_OK
La marca se estableció correctamente.
E_FAIL
Error al establecer la marca.
Fuente
[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
)
Descripción
Establezca la ruta de acceso a los archivos temporales usados por la aplicación de inserción.
Parámetros
in_bstrPath
Ruta de acceso usada por la aplicación host para archivos temporales.
Valor devuelto
S_OK
El directorio de archivos temporal se estableció correctamente.
E_FAIL
Error al establecer la ruta de acceso.
Fuente
[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 )
Descripción
Cancela la operación actual de la base de datos incrustada.
Parámetros
Ninguno.
Valor devuelto
S_OK
La operación se canceló correctamente.
DB_E_CANTCANCEL
Actualmente no hay ninguna operación cancelable en curso.
E_FAIL
Error al cancelar la operación insertada.
Fuente
[id(5), helpstring("Cancel the current operation")]
HRESULT Cancel();
IMDEmbeddedData::GetSizeMax (IPersistStream::GetSizeMax)
HRESULT GetSizeMax (
[out] ULARGE_INTEGER * out_pcbSize
)
Descripción
Obtiene el tamaño estimado (en bytes) de la secuencia para guardar el objeto incrustado. Se hereda de IPersistStream.
Parámetros
in_bstrPath
Tamaño estimado (en bytes) de la imagen de base de datos incrustada.
Valor devuelto
S_OK
El tamaño se obtuvo correctamente.
E_FAIL
Error al obtener el tamaño.
IMDEmbeddedData::IsDirty (IPersistStream::IsDirty)
HRESULT IsDirty ( void )
Descripción
Comprueba si la base de datos incrustada ha cambiado desde que se guardó por última vez. Se hereda de IPersistStream.
Parámetros
Ninguno
Valores devueltos
S_OK
La base de datos ha cambiado desde que se guardó por última vez.
S_FALSE
La base de datos no ha cambiado desde que se guardó por última vez.
E_FAIL
Error al obtener el estado de la base de datos.
IMDEmbeddedData::Load (IPersistStream::Load)
HRESULT Load (
[in] IStream * in_pStm
)
Descripción
Carga la base de datos insertada en el motor local o en proceso. Se hereda de IPersistStream.
Parámetros
in_pStm
Puntero a una interfaz de flujo desde dónde cargar la base de datos incrustada.
Valores devueltos
S_OK
La base de datos se cargó correctamente.
E_OUTOFMEMORY
Memoria insuficiente para cargar la base de datos.
E_FAIL
Error al cargar la base de datos, diferente de E_OUTOFMEMORY.
IMDEmbeddedData::Save (IPersistStream::Save)
HRESULT Save (
[in] IStream * in_pStm,
[in] BOOL in_fClearDirty
)
Descripción
Guarda la base de datos local o en proceso en la secuencia insertada en el documento de contenedor. Se hereda de IPersistStream.
Parámetros
in_pStm
Puntero a una interfaz de flujo a donde guardar la base de datos incrustada.
in_fClearDirty
Marca que indica si la marca desfasada debe borrarse después de esta operación.
Valores devueltos
S_OK
La base de datos se guardó correctamente.
STG_E_CANTSAVE
Error al guardar la base de datos, diferente de STG_E_MEDIUMFULL.
STG_E_MEDIUMFULL
No se pudo guardar la base de datos porque no queda espacio en el dispositivo de almacenamiento.