Interface IMDEmbedded

Cette interface permet à l'utilisateur de gérer une base de données POWERPIVOT incorporée. 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.

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