Freigeben über


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.

  • Ruft die geschätzte Größe des Datenstroms (in Byte) zum Speichern des eingebetteten Objekts ab. Wird von IPersistStream geerbt.

  • Überprüft, ob sich die eingebettete Datenbank seit der letzten Speicherung geändert hat. Wird von IPersistStream geerbt.

  • Lädt die eingebettete Datenbank in das lokale oder prozessinterne Modul. Wird von IPersistStream geerbt.

  • Speichert die lokale oder prozessinterne Datenbank im eingebetteten Datenstrom im Containerdokument. Wird von IPersistStream geerbt.

Verweis

In der folgenden Referenz wird die IMDEmbedded-Schnittstelle dokumentiert, wie sie in der msmd.h-Headerdatei präsentiert ist.

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.

Hinweise

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 gehostet (d. h. SharePoint Server).

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.

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.

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

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.

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

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.

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 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.

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 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 das lokale oder prozessinterne Modul. 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 Datenstrom 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.