Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die IMDEmbedded-Schnittstelle ist eine öffentliche Schnittstelle, die zum Verwalten einer eingebetteten PowerPivot-Datenbank oder einer tabellenbasierten Modelldatenbank verwendet wird. Die Schnittstelle erbt von der IPersistStream Schnittstelle. Die Schnittstelle ermöglicht die folgenden Vorgänge:
Rufen Sie einen Bezeichner für den eingebetteten Datenstrom im Containerdokument ab.
Legen Sie die URL des enthaltenden Dokuments fest.
Legen Sie ein Flag fest, um anzugeben, ob sich die Einbettungsanwendung in einer gehosteten Umgebung befindet.
Legen Sie den Pfad auf temporäre Dateien fest, die von der Einbettungsanwendung verwendet werden.
Abbrechen des aktuellen eingebetteten Vorgangs.
Rufen Sie die geschätzte Größe (in Byte) des Datenstroms ab, um das eingebettete Objekt zu speichern. Wird von
IPersistStreamgeerbt.Überprüfen Sie, ob sich die eingebettete Datenbank seit dem letzten Speichern geändert hat. Wird von
IPersistStreamgeerbt.Laden Sie die eingebettete Datenbank in das lokale oder prozessinterne Modul. Wird von
IPersistStreamgeerbt.Speichern Sie die lokale oder prozessinterne Datenbank im eingebetteten Datenstrom im Containerdokument. Wird von
IPersistStreamgeerbt.
Referenz
Die folgende Referenz dokumentiert die Schnittstelle wie in der IMDEmbeddedMsmd.h-Headerdatei dargestellt.
Quelldatei: 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
)
BESCHREIBUNG
Ruft den Bezeichner ab, der von der Hostanwendung für den eingebetteten Datenstrom im Containerdokument verwendet wird.
Die Parameter
out_pbstrStreamId
Gibt den Speicherort des Datenstrombezeichners an.
Rückgabewert
S_OK
Der Datenstrombezeichner wurde erfolgreich zurückgegeben.
S_FALSE
Es gibt keinen Datenstrombezeichner.
E_FAIL
Fehler beim Zugriff auf den Datenstrombezeichner.
Bemerkungen
Um zu überprüfen, ob die aktuelle Verbindung eine eingebettete Datenbank enthält, sollte der Benutzer den Wert der DBPROP_MSMD_EMBEDDED_DATA Eigenschaft aus den OLE DB-Verbindungseigenschaften überprüfen.
Mögliche Werte für DBPROP_MSMD_EMBEDDED_DATA sind:
| Name | Wert | Definition |
|---|---|---|
| DBPROPVAL_EMBED_NONE | 0x00 | Keine eingebettete Datenbank verfügbar |
| DBPROPVAL_EMBED_EMBEDDED | 0x01 | Die aktuelle Anwendung enthält die eingebettete Datenbank. |
| DBPROPVAL_EMBED_LINKED | 0x02 | Die eingebettete Datenbank wird in einer Remoteanwendung (d. h. SharePoint Server) gehostet. |
Quelle
[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
)
BESCHREIBUNG
Legt die URL für die Datei fest, die den eingebetteten Datenstrom enthält.
Die Parameter
in_bstrURL
Gibt die URL für das enthaltende Dokument an.
Rückgabewert
S_OK
Die Container-URL wurde erfolgreich festgelegt.
E_FAIL
Fehler beim Festlegen der Container-URL.
Quelle
[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
)
BESCHREIBUNG
Legen Sie ein Flag fest, um anzugeben, ob sich die Einbettungsanwendung in einer gehosteten Umgebung befindet.
Die Parameter
in_ftHosted
TRUE, wenn sich der Aufrufer in einer Dienstanwendung befindet (z. B. IIS).
Rückgabewert
S_OK
Die Kennzeichnung wurde erfolgreich festgelegt.
E_FAIL
Fehler beim Festlegen des Flags.
Quelle
[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
)
BESCHREIBUNG
Legen Sie den Pfad auf temporäre Dateien fest, die von der Einbettungsanwendung verwendet werden.
Die Parameter
in_bstrPath
Der Pfad, der von der Hostanwendung für temporäre Dateien verwendet wird.
Rückgabewert
S_OK
Das temporäre Dateiverzeichnis wurde erfolgreich festgelegt.
E_FAIL
Fehler beim Festlegen des Pfads.
Quelle
[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 )
BESCHREIBUNG
Bricht den aktuellen eingebetteten Datenbankvorgang ab.
Die Parameter
Keiner.
Rückgabewert
S_OK
Der Vorgang wurde erfolgreich abgebrochen.
DB_E_CANTCANCEL
Zurzeit wird kein abbruchbarer Vorgang ausgeführt.
E_FAIL
Fehler beim Abbrechen des eingebetteten Vorgangs.
Quelle
[id(5), helpstring("Cancel the current operation")]
HRESULT Cancel();
IMDEmbeddedData::GetSizeMax (IPersistStream::GetSizeMax)
HRESULT GetSizeMax (
[out] ULARGE_INTEGER * out_pcbSize
)
BESCHREIBUNG
Ruft die geschätzte Größe (in Byte) des Datenstroms ab, um das eingebettete Objekt zu speichern. Wird von IPersistStream geerbt.
Die Parameter
in_bstrPath
Die geschätzte Größe (in Byte) des eingebetteten Datenbankbilds.
Rückgabewert
S_OK
Die Größe wurde erfolgreich abgerufen.
E_FAIL
Fehler beim Abrufen der Größe.
IMDEmbeddedData::IsDirty (IPersistStream::IsDirty)
HRESULT IsDirty ( void )
BESCHREIBUNG
Überprüft, ob sich die eingebettete Datenbank seit dem letzten Speichern geändert hat. Wird von IPersistStream geerbt.
Die Parameter
nichts
Rückgabewert(n)
S_OK
Die Datenbank wurde seit dem letzten Speichern geändert.
S_FALSE
Die Datenbank wurde seit dem letzten Speichern nicht geändert.
E_FAIL
Fehler beim Abrufen des Datenbankstatus.
IMDEmbeddedData::Load (IPersistStream::Load)
HRESULT Load (
[in] IStream * in_pStm
)
BESCHREIBUNG
Lädt die eingebettete Datenbank in das lokale oder prozessinterne Modul. Wird von IPersistStream geerbt.
Die Parameter
in_pStm
Ein Zeiger auf eine Datenstromschnittstelle, von der aus die eingebettete Datenbank geladen werden soll.
Rückgabewert(n)
S_OK
Die Datenbank wurde erfolgreich geladen.
E_OUTOFMEMORY
Nicht genügend Arbeitsspeicher zum Laden der Datenbank.
E_FAIL
Fehler beim Laden der Datenbank, anders als E_OUTOFMEMORY.
IMDEmbeddedData::Save (IPersistStream::Save)
HRESULT Save (
[in] IStream * in_pStm,
[in] BOOL in_fClearDirty
)
BESCHREIBUNG
Speichert die lokale oder prozessinterne Datenbank im eingebetteten Datenstrom im Containerdokument. Wird von IPersistStream geerbt.
Die Parameter
in_pStm
Ein Zeiger auf eine Datenstromschnittstelle, an der die eingebettete Datenbank gespeichert werden soll.
in_fClearDirty
Ein Flag, das angibt, ob das schmutzige Flag nach diesem Vorgang gelöscht werden soll.
Rückgabewert(n)
S_OK
Die Datenbank wurde erfolgreich gespeichert.
STG_E_CANTSAVE
Fehler beim Speichern der Datenbank, anders als STG_E_MEDIUMFULL.
STG_E_MEDIUMFULL
Die Datenbank konnte nicht gespeichert werden, da auf dem Speichergerät kein Speicherplatz vorhanden ist.