OleCreateLinkFromData 関数 (ole2.h)
クリップボードから、または OLE ドラッグ アンド ドロップ操作の一部として取得されたデータ転送オブジェクトからリンク オブジェクトを作成します。
構文
HRESULT OleCreateLinkFromData(
[in] LPDATAOBJECT pSrcDataObj,
[in] REFIID riid,
[in] DWORD renderopt,
[in] LPFORMATETC pFormatEtc,
[in] LPOLECLIENTSITE pClientSite,
[in] LPSTORAGE pStg,
[out] LPVOID *ppvObj
);
パラメーター
[in] pSrcDataObj
リンク オブジェクトの作成元となるデータ転送オブジェクトの IDataObject インターフェイスへのポインター。
[in] riid
呼び出し元が後で使用するインターフェイスの識別子を参照して、新しいオブジェクトと通信します (通常は、 IOleObject のインターフェイス識別子として OLE ヘッダーで定義IID_IOleObject)。
[in] renderopt
新しく作成されたオブジェクトが持つローカルにキャッシュされた描画またはデータ取得機能を示す列挙 OLERENDER の値。 その他の考慮事項については、次の「解説」セクションで説明します。
[in] pFormatEtc
新しく作成されたオブジェクトが持つローカルキャッシュ描画またはデータ取得機能を示す列挙 OLERENDER からの値へのポインター。 選択した OLERENDER 値は、 pFormatEtc パラメーターに指定できる値に影響します。
[in] pClientSite
オブジェクトがコンテナーからサービスを要求するプライマリ インターフェイスである IOleClientSite のインスタンスへのポインター。 このパラメーターは、NULL でもかまいません。
[in] pStg
ストレージ オブジェクトの IStorage インターフェイスへのポインター。 このパラメーターを NULL にすることはできません。
[out] ppvObj
riid で要求されたインターフェイス ポインターを受け取るポインター変数のアドレス。 正常に戻ると、 ppvObj には、新しく作成されたオブジェクトに対して要求されたインターフェイス ポインターが含まれます。
戻り値
この関数は、成功したS_OKを返します。 その他の可能な値は次のとおりです。
リターン コード | 説明 |
---|---|
|
クリップボードを開くことができません。 |
|
オブジェクトのモニカーを抽出できません。 |
|
ソースにバインドできません。 キャッシュの初期化データを取得するには、バインドが必要です。 |
注釈
OleCreateLinkFromData 関数は、貼り付けリンク操作またはドラッグ リンク操作を実装するために使用されます。 その操作は OleCreateFromData 関数の操作と似ていますが、リンクが作成され、さまざまなデータ形式が検索される点が異なります。 CF_LINKSOURCE形式が存在せず、FileName または FileNameW クリップボード形式がデータ転送オブジェクトに存在する場合、 OleCreateLinkFromData は、指定されたファイルへのリンクを含むパッケージを作成します。
renderopt パラメーターと pFormatetc パラメーターを使用して、新しく作成されたオブジェクトのキャッシュ機能を制御します。 キャッシュ対象を特定する方法の一般的な情報については、renderopt と pFormatetc の間の相互作用の説明については、OLERENDER 列挙を参照してください。 ただし、 OleCreateLinkFromData がキャッシュを初期化する方法には、次のように、これらのパラメーターの追加の特定の効果がいくつかあります。
値 | 説明 |
---|---|
OLERENDER_DRAW、OLERENDER_FORMAT | プレゼンテーション情報がソース データ オブジェクトの他の形式の場合は、この情報が使用されます。 情報が存在しない場合、キャッシュは最初は空ですが、オブジェクトが初めて実行されるときに塗りつぶされます。 新しく作成されたオブジェクトには、他の形式はキャッシュされません。 |
OLERENDER_NONE、OLERENDER_ASIS | 新しく作成されたオブジェクトにはキャッシュされません。 |
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | ole2.h |
Library | Ole32.lib |
[DLL] | Ole32.dll |