Interface IMDEmbedded

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

  • Ajouter un identificateur au flux de données incorporé dans le document conteneur.

  • Définir l'URL du document contenant.

  • Définir un indicateur pour indiquer si l'application d'incorporation est dans un environnement hébergé.

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

  • Annuler l'opération incorporée actuelle.

  • Obtenir la taille estimée (en octets) du flux de données pour enregistrer l'objet incorporé. Hérité de IPersistStream.

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

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

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

Référence

La référence suivante documente l'interface IMDEmbedded telle que présentée dans le 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
    )

Description

Ajoute l'identificateur utilisé par l'application hôte au flux de données incorporé dans le document conteneur.

Paramètres

  • out_pbstrStreamId
    Spécifie l'emplacement de l'identificateur de flux de données.

Valeur de retour

  • S_OK
    L'identificateur de flux de données a été retourné avec succès.

  • S_FALSE
    Il n'y a aucun identificateur de flux de données.

  • E_FAIL
    Une erreur s'est produite lors de l'accès à l'identificateur de flux de données.

Notes

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 depuis les propriétés de connexion OLE DB.

Les valeurs possibles pour DBPROP_MSMD_EMBEDDED_DATA sont :

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.-à-d. SharePoint Server)

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
    )

Description

Définit l'URL pour le fichier qui contient le flux de données incorporé.

Paramètres

  • in_bstrURL
    Spécifie l'URL pour le document contenant.

Valeur de retour

  • S_OK
    L'URL du conteneur a été définie avec succès.

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

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
    )

Description

Définit un indicateur pour indiquer si l'application d'incorporation est dans un environnement hébergé.

Paramètres

  • in_ftHosted
    TRUE si l'appelant est hébergé dans une application de service (comme IIS).

Valeur de retour

  • S_OK
    L'indicateur a été défini avec succès.

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

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
    )

Description

Définit 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 fichier temporaire a été défini avec succès.

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

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 )

Description

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

Paramètres

Aucun.

Valeur de retour

  • S_OK
    L'opération a été annulée avec succès.

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

Source

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

IMDEmbeddedData::GetSizeMax (IPersistStream::GetSizeMax)

HRESULT GetSizeMax (
    [out] ULARGE_INTEGER * out_pcbSize
    )

Description

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

Paramètres

  • in_bstrPath
    Taille estimée (en octets) de l'image de la 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 )

Description

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

Paramètres

aucun

Valeur(s) de retour

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

  • S_FALSE
    La base de données n'a pas changé depuis le 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 
    )

Description

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 de données à partir de laquelle charger la base de données incorporée.

Valeur(s) de retour

  • S_OK
    La base de données a été chargée avec succès.

  • E_OUTOFMEMORY
    Pas assez de mémoire pour charger la base de données.

  • E_FAIL
    Une erreur s'est produite lors du chargement de la base de données, autre que E_OUTOFMEMORY.

IMDEmbeddedData::Save (IPersistStream::Save)

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

Description

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

Paramètres

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

  • in_fClearDirty
    Indicateur qui indique si l'indicateur de changement doit être effacé après cette opération.

Valeur(s) de retour

  • S_OK
    La base de données a été enregistrée avec succès.

  • STG_E_CANTSAVE
    Une erreur s'est produite lors de l'enregistrement de la base de données, autre que STG_E_MEDIUMFULL.

  • STG_E_MEDIUMFULL
    La base de données n'a pas pu être enregistrée parce qu'il n'y a plus d'espace disponible dans le périphérique de stockage.