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.