IMDEmbedded-Schnittstelle
Die IMDEmbedded-Schnittstelle ist eine öffentliche Schnittstelle, die verwendet wurde, um eine eingebettete PowerPivot-Datenbank oder eine tabellarische Modelldatenbank zu verwalten. Die Schnittstelle erbt von der IPersistStream
-Schnittstelle. Die Schnittstelle lässt folgende Vorgänge zu:
Ruft einen Bezeichner in den eingebetteten Datenstrom im Containerdokument ab.
Legt die URL des Containerdokuments fest.
Legt ein Flag fest, das angibt, ob sich die Einbettungsanwendung in einer gehosteten Umgebung befindet.
Legt den Pfad zu den von der Einbettungsanwendung verwendeten temporären Dateien fest.
Bricht den aktuellen Einbettungsvorgang ab.
Rufen Sie die geschätzte Größe (in Bytes) des Datenstroms ab, um das eingebettete Objekt zu speichern. Wird von
IPersistStream
geerbt.Überprüfen Sie, ob sich die eingebettete Datenbank seit dem letzten Speichern geändert hat. Wird von
IPersistStream
geerbt.Laden Sie die eingebettete Datenbank in die lokale oder prozessinterne Engine. Wird von
IPersistStream
geerbt.Speichert die lokale oder prozessinterne Datenbank im eingebetteten Datenstrom im Containerdokument. Wird von
IPersistStream
geerbt.
Verweis
Die folgende Referenz dokumentiert die Schnittstelle, wie in der IMDEmbedded
Headerdatei msmd.h 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 von der Hostanwendung verwendeten Bezeichner in den eingebetteten Datenstrom im Containerdokument ab.
Parameter
out_pbstrStreamId
Gibt die Position des Datenstrombezeichners an.
Rückgabewert
S_OK
Der Datenstrombezeichner wurde erfolgreich zurückgegeben.
S_FALSE
Es ist kein Datenstrombezeichner vorhanden.
E_FAIL
Beim Zugriff auf den Datenstrombezeichner ist ein Fehler aufgetreten.
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 in den OLE DB-Verbindungseigenschaften überprüfen.
Die möglichen Werte für DBPROP_MSMD_EMBEDDED_DATA lauten wie folgt:
Name | Wert | Definition |
---|---|---|
DBPROPVAL_EMBED_NONE | 0x00 | Es ist 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 (z. B. SharePoint Server) gehostet. |
`Source`
[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.
Parameter
in_bstrURL
Gibt die URL für das Containerdokument an.
Rückgabewert
S_OK
Die Container-URL wurde erfolgreich festgelegt.
E_FAIL
Beim Festlegen der Container-URL ist ein Fehler aufgetreten.
`Source`
[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
Legt ein Flag fest, das angibt, ob sich die Einbettungsanwendung in einer gehosteten Umgebung befindet.
Parameter
in_ftHosted
TRUE für Aufrufer in einer gehosteten Dienstanwendung (wie IIS)
Rückgabewert
S_OK
Das Flag wurde erfolgreich festgelegt.
E_FAIL
Beim Festlegen des Flags ist ein Fehler aufgetreten.
`Source`
[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
Legt den Pfad zu den von der Einbettungsanwendung verwendeten temporären Dateien fest.
Parameter
in_bstrPath
Der Pfad, der von der Hostanwendung für temporäre Dateien verwendet wird.
Rückgabewert
S_OK
Das Verzeichnis für temporäre Dateien wurde erfolgreich festgelegt.
E_FAIL
Beim Festlegen des Pfads ist ein Fehler aufgetreten.
`Source`
[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 Vorgang für die eingebettete Datenbank ab.
Parameter
Keine.
Rückgabewert
S_OK
Der Vorgang wurde erfolgreich abgebrochen.
DB_E_CANTCANCEL
Es wird aktuell kein abbrechbarer Vorgang ausgeführt.
E_FAIL
Beim Abbrechen des eingebetteten Vorgangs ist ein Fehler aufgetreten.
`Source`
[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 des Datenstroms (in Byte) zum Speichern des eingebetteten Objekts ab. Wird von IPersistStream
geerbt.
Parameter
in_bstrPath
Die geschätzte Größe des eingebetteten Datenbankbilds (in Byte).
Rückgabewert
S_OK
Die Größe wurde erfolgreich abgerufen.
E_FAIL
Beim Abrufen der Größe ist ein Fehler aufgetreten.
IMDEmbeddedData::IsDirty (IPersistStream::IsDirty)
HRESULT IsDirty ( void )
BESCHREIBUNG
Überprüft, ob sich die eingebettete Datenbank seit der letzten Speicherung geändert hat. Wird von IPersistStream
geerbt.
Parameter
Keine
Rückgabewert(e)
S_OK
Die Datenbank wurde seit der letzten Speicherung geändert.
S_FALSE
Die Datenbank wurde seit der letzten Speicherung nicht geändert.
E_FAIL
Beim Abrufen des Datenbankstatus ist ein Fehler aufgetreten.
IMDEmbeddedData::Load (IPersistStream::Load)
HRESULT Load (
[in] IStream * in_pStm
)
BESCHREIBUNG
Lädt die eingebettete Datenbank in die lokale oder prozessinterne Engine. Wird von IPersistStream
geerbt.
Parameter
in_pStm
Ein Zeiger auf eine Datenstromschnittstelle, von der die eingebettete Datenbank geladen werden soll.
Rückgabewert(e)
S_OK
Die Datenbank wurde erfolgreich geladen.
E_OUTOFMEMORY
Der Arbeitsspeicher reicht zum Laden der Datenbank nicht aus.
E_FAIL
Beim Laden der Datenbank ist ein anderer Fehler als E_OUTOFMEMORY
aufgetreten.
IMDEmbeddedData::Save (IPersistStream::Save)
HRESULT Save (
[in] IStream * in_pStm,
[in] BOOL in_fClearDirty
)
BESCHREIBUNG
Speichert die lokale oder prozessinterne Datenbank im eingebetteten Stream im Containerdokument. Wird von IPersistStream
geerbt.
Parameter
in_pStm
Ein Zeiger auf eine Datenstromschnittstelle, in der die eingebettete Datenbank gespeichert werden soll.
in_fClearDirty
Ein Flag, das angibt, ob das modifizierte Flag nach diesem Vorgang gelöscht werden soll.
Rückgabewert(e)
S_OK
Die Datenbank wurde erfolgreich gespeichert.
STG_E_CANTSAVE
Beim Speichern der Datenbank ist ein anderer Fehler als STG_E_MEDIUMFULL
aufgetreten.
STG_E_MEDIUMFULL
Die Datenbank konnte nicht gespeichert werden, da auf dem Speichergerät kein Speicherplatz mehr verfügbar ist.