次の方法で共有


IMDEmbedded インターフェイス

IMDEmbedded インターフェイスは、埋め込みの PowerPivot データベースまたはテーブル モデル データベースを管理するために使用されるパブリック インターフェイスです。 このインターフェイスは、IPersistStream インターフェイスから継承されます。 このインターフェイスでは、次の操作を実行できます。

  • コンテナー ドキュメント内の埋め込みストリームの識別子を取得します。

  • ドキュメントの URL を設定します。

  • 埋め込みアプリケーションがホスト環境にあるかどうかを示すフラグを設定します。

  • 埋め込みアプリケーションが使用する一時ファイルのパスを設定します。

  • 現在の埋め込み操作を取り消します。

  • ストリームの推定サイズ (バイト単位) を取得し、埋め込みオブジェクトを保存します。 IPersistStream から継承されます。

  • 埋め込みデータベースが最後に保存されてから変更されたかどうかを確認します。 IPersistStream から継承されます。

  • 埋め込みデータベースをローカルまたはインプロセス エンジンに読み込みます。 IPersistStream から継承されます。

  • ローカルまたはインプロセス データベースをコンテナー ドキュメント内の埋め込みストリームに保存します。 IPersistStream から継承されます。

参照

次の参照は、msmd.h ヘッダー ファイルに示される IMDEmbedded インターフェイスについて記述しています。

ソース ファイル: 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
    )

説明

ホスト アプリケーションが使用するコンテナー ドキュメント内の埋め込みストリームの識別子を取得します。

パラメーター

  • out_pbstrStreamId
    ストリーム識別子の場所を指定します。

戻り値

  • S_OK
    ストリーム識別子が正常に返されました。

  • S_FALSE
    ストリーム識別子がありません。

  • E_FAIL
    ストリーム識別子へのアクセス中にエラーが発生しました。

解説

現在の接続に埋め込みデータベースが含まれているかどうかを確認するには、OLE DB 接続プロパティから DBPROP_MSMD_EMBEDDED_DATA プロパティの値を確認してください。

DBPROP_MSMD_EMBEDDED_DATA は、次のいずれかの値をとります。

名前

定義

DBPROPVAL_EMBED_NONE

0x00

使用できる埋め込みデータベースがありません。

DBPROPVAL_EMBED_EMBEDDED

0x01

現在のアプリケーションには埋め込みデータベースが含まれています。

DBPROPVAL_EMBED_LINKED

0x02

埋め込みデータベースはリモート アプリケーション ( SharePoint Server など) でホストされています。

ソース

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

説明

埋め込みストリームが含まれているファイルの URL を設定します。

パラメーター

  • in_bstrURL
    ドキュメントの URL を指定します。

戻り値

  • S_OK
    コンテナー URL は正常に設定されました。

  • E_FAIL
    コンテナー URL の設定中にエラーが発生しました。

ソース

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

説明

埋め込みアプリケーションがホスト環境にあるかどうかを示すフラグを設定します。

パラメーター

  • in_ftHosted
    呼び出し元がサービス アプリケーション (IIS など) でホストされている場合は TRUE を返します。

戻り値

  • S_OK
    フラグは正常に設定されました。

  • E_FAIL
    フラグの設定中にエラーが発生しました。

ソース

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

説明

埋め込みアプリケーションが使用する一時ファイルのパスを設定します。

パラメーター

  • in_bstrPath
    ホスト アプリケーションが一時ファイルに使用するパス。

戻り値

  • S_OK
    一時ファイルのディレクトリは正常に設定されました。

  • E_FAIL
    パスの設定中にエラーが発生しました。

ソース

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

説明

現在の埋め込みデータベース操作を取り消します。

パラメーター

なし

戻り値

  • S_OK
    操作が正常に取り消されました。

  • DB_E_CANTCANCEL
    現在実行中の取り消し可能な操作はありません。

  • E_FAIL
    埋め込み操作の取り消し中にエラーが発生しました。

ソース

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

IMDEmbeddedData::GetSizeMax (IPersistStream::GetSizeMax)

HRESULT GetSizeMax (
    [out] ULARGE_INTEGER * out_pcbSize
    )

説明

ストリームの推定サイズ (バイト単位) を取得し、埋め込みオブジェクトを保存します。 IPersistStream から継承されます。

パラメーター

  • in_bstrPath
    埋め込みデータベース イメージの推定サイズ (バイト単位)。

戻り値

  • S_OK
    サイズは正常に取得されました。

  • E_FAIL
    サイズの取得中にエラーが発生しました。

IMDEmbeddedData::IsDirty (IPersistStream::IsDirty)

HRESULT IsDirty ( void )

説明

埋め込みデータベースが最後に保存されてから変更されたかどうかを確認します。 IPersistStream から継承されます。

パラメーター

なし

戻り値

  • S_OK
    データベースは最後に保存されてから変更されました。

  • S_FALSE
    データベースは最後に保存されてから変更されていません。

  • E_FAIL
    データベース状態の取得中にエラーが発生しました。

IMDEmbeddedData::Load (IPersistStream::Load)

HRESULT Load ( 
    [in] IStream * in_pStm 
    )

説明

埋め込みデータベースをローカルまたはインプロセス エンジンに読み込みます。 IPersistStream から継承されます。

パラメーター

  • in_pStm
    埋め込みデータベースを読み込むストリーム インターフェイスを指すポインターです。

戻り値

  • S_OK
    データベースは正常に読み込まれました。

  • E_OUTOFMEMORY
    データベースを読み込むためのメモリが不足しています。

  • E_FAIL
    データベースの読み込み中にエラーが発生しました。E_OUTOFMEMORY とは異なります。

IMDEmbeddedData::Save (IPersistStream::Save)

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

説明

ローカルまたはインプロセス データベースをコンテナー ドキュメント内の埋め込みストリームに保存します。 IPersistStream から継承されます。

パラメーター

  • in_pStm
    埋め込みデータベースの保存先のストリーム インターフェイスを指すポインターです。

  • in_fClearDirty
    この操作の後にダーティ フラグを消去する必要があるかどうかを示すフラグです。

戻り値

  • S_OK
    データベースは正常に保存されました。

  • STG_E_CANTSAVE
    データベースの保存中にエラーが発生しました。STG_E_MEDIUMFULL とは異なります。

  • STG_E_MEDIUMFULL
    ストレージ デバイスに空き領域がないため、データベースを保存できませんでした。