Freigeben über


IMDEmbedded-Schnittstelle

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 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 das lokale oder prozessinterne Modul. Wird von IPersistStream geerbt.

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

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.