IMDEmbedded Interface

L’interface IMDEmbedded est une interface publique utilisée pour gérer une base de données PowerPivot incorporée ou une base de données de modèle tabulaire. L’interface hérite de l’interface IPersistStream . L’interface permet les opérations suivantes :

  • Obtenez un identificateur au flux incorporé dans le document conteneur.

  • Définissez l’URL du document conteneur.

  • Définissez un indicateur pour indiquer si l’application d’incorporation se trouve dans un environnement hébergé.

  • Définissez le chemin d’accès aux fichiers temporaires utilisés par l’application d’incorporation.

  • Annulez l’opération incorporée actuelle.

  • Obtenez la taille estimée (en octets) du flux pour enregistrer l’objet incorporé. Hérité de IPersistStream.

  • Vérifiez si la base de données incorporée a changé depuis son dernier enregistrement. Hérité de IPersistStream.

  • Chargez la base de données incorporée sur le moteur local ou in-process. Hérité de IPersistStream.

  • Enregistrez la base de données locale ou in-process dans le flux incorporé dans le document conteneur. Hérité de IPersistStream.

Référence

La référence suivante documente l’interface comme indiqué dans le IMDEmbedded fichier d’en-tête msmd.h .

Fichier source : 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  
    )  

Descriptif

Obtient l’identificateur utilisé par l’application hôte dans le flux incorporé dans le document conteneur.

Paramètres

out_pbstrStreamId
Spécifie l’emplacement de l’identificateur de flux.

Valeur de retour

S_OK
L’identificateur de flux a été retourné avec succès.

S_FALSE
Il n’existe aucun identificateur de flux.

E_FAIL
Une erreur s’est produite lors de l’accès à l’identificateur de flux.

Remarques

Pour vérifier si la connexion actuelle contient une base de données incorporée, l’utilisateur doit vérifier la valeur de la propriété DBPROP_MSMD_EMBEDDED_DATA à partir des propriétés de connexion OLE DB.

Les valeurs possibles pour DBPROP_MSMD_EMBEDDED_DATA sont les suivantes :

Nom Valeur Définition
DBPROPVAL_EMBED_NONE 0x00 Aucune base de données incorporée disponible
DBPROPVAL_EMBED_EMBEDDED 0x01 L’application actuelle contient la base de données incorporée
DBPROPVAL_EMBED_LINKED 0x02 La base de données incorporée est hébergée dans une application distante (c’est-à-dire SharePoint Server)

Origine

[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  
    )  

Descriptif

Définit l’URL du fichier contenant le flux incorporé.

Paramètres

in_bstrURL
Spécifie l’URL du document conteneur.

Valeur de retour

S_OK
L’URL du conteneur a été correctement définie.

E_FAIL
Une erreur s’est produite lors de la définition de l’URL du conteneur.

Origine

[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  
    )  

Descriptif

Définissez un indicateur pour indiquer si l’application d’incorporation se trouve dans un environnement hébergé.

Paramètres

in_ftHosted
TRUE si l’appelant se trouve dans une application de service hébergée (comme IIS).

Valeur de retour

S_OK
L’indicateur a été correctement défini.

E_FAIL
Une erreur s’est produite lors de la définition de l’indicateur.

Origine

[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  
    )  

Descriptif

Définissez le chemin d’accès aux fichiers temporaires utilisés par l’application d’incorporation.

Paramètres

in_bstrPath
Chemin d’accès utilisé par l’application hôte pour les fichiers temporaires.

Valeur de retour

S_OK
Le répertoire de fichiers temporaire a été correctement défini.

E_FAIL
Une erreur s’est produite lors de la définition du chemin d’accès.

Origine

[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 )  

Descriptif

Annule l’opération actuelle de base de données incorporée

Paramètres

Aucun.

Valeur de retour

S_OK
L’opération a été annulée.

DB_E_CANTCANCEL
Aucune opération annulable n’est actuellement en cours.

E_FAIL
Une erreur s’est produite lors de l’annulation de l’opération incorporée.

Origine

[id(5), helpstring("Cancel the current operation")]   
 HRESULT Cancel();  

IMDEmbeddedData ::GetSizeMax (IPersistStream ::GetSizeMax)

HRESULT GetSizeMax (  
    [out] ULARGE_INTEGER * out_pcbSize  
    )  

Descriptif

Obtient la taille estimée (en octets) du flux pour enregistrer l’objet incorporé. Hérité de IPersistStream.

Paramètres

in_bstrPath
Taille estimée (en octets) de l’image de base de données incorporée.

Valeur de retour

S_OK
La taille a été obtenue avec succès.

E_FAIL
Une erreur s’est produite lors de l’obtention de la taille.

IMDEmbeddedData ::IsDirty (IPersistStream ::IsDirty)

HRESULT IsDirty ( void )  

Descriptif

Vérifie si la base de données incorporée a changé depuis son dernier enregistrement. Hérité de IPersistStream.

Paramètres

Aucune

Valeur(s) renvoyée(s)

S_OK
La base de données a changé depuis son dernier enregistrement.

S_FALSE
La base de données n’a pas changé depuis son dernier enregistrement.

E_FAIL
Une erreur s’est produite lors de l’obtention de l’état de la base de données.

IMDEmbeddedData ::Load (IPersistStream ::Load)

HRESULT Load (   
    [in] IStream * in_pStm   
    )  

Descriptif

Charge la base de données incorporée dans le moteur local ou in-process. Hérité de IPersistStream.

Paramètres

in_pStm
Pointeur vers une interface de flux à partir de laquelle charger la base de données incorporée.

Valeur(s) renvoyée(s)

S_OK
La base de données a été correctement chargée.

E_OUTOFMEMORY
Mémoire insuffisante pour charger la base de données.

E_FAIL
Une erreur s’est produite lors du chargement de la base de données, différente de E_OUTOFMEMORY.

IMDEmbeddedData ::Save (IPersistStream ::Save)

HRESULT Save (   
    [in] IStream * in_pStm,  
    [in] BOOL in_fClearDirty  
    )  

Descriptif

Enregistre la base de données locale ou in-process dans le flux incorporé dans le document conteneur. Hérité de IPersistStream.

Paramètres

in_pStm
Pointeur vers une interface de flux vers l’emplacement où enregistrer la base de données incorporée.

in_fClearDirty
Indicateur qui indique si l’indicateur sale doit être effacé après cette opération.

Valeur(s) renvoyée(s)

S_OK
La base de données a été correctement enregistrée.

STG_E_CANTSAVE
Une erreur s’est produite lors de l’enregistrement de la base de données, différente de STG_E_MEDIUMFULL.

STG_E_MEDIUMFULL
Impossible d’enregistrer la base de données, car il n’y a pas d’espace laissé sur l’appareil de stockage.