OleQueryCreateFromData 関数 (ole2.h)

データ オブジェクトに、OleCreateFromData 関数または OleCreateStaticFromData 関数の呼び出しを通じて埋め込みオブジェクトになる形式の 1 つがあるかどうかを確認します。

構文

HRESULT OleQueryCreateFromData(
  [in] LPDATAOBJECT pSrcDataObject
);

パラメーター

[in] pSrcDataObject

クエリを実行するデータ転送オブジェクトの IDataObject インターフェイスへのポインター。

戻り値

この関数は、成功したS_OKを返します。 その他の使用可能な値は次のとおりです。

リターン コード 説明
S_FALSE
埋め込みオブジェクトまたは静的オブジェクトの作成をサポートする形式はありません。
OLE_S_STATIC
静的オブジェクトの作成をサポートする形式が存在します。

注釈

アプリケーションが OleGetClipboard 関数の呼び出しを通じてデータ転送オブジェクトを取得する場合、アプリケーションは、Edit/Paste または Edit/Paste Special... コマンドを有効または無効にすることを決定するプロセスの一環として、OleQueryCreateFromData を呼び出す必要があります。 データ オブジェクトに次の形式が存在することがテストされます。

  • CF_EMBEDDEDOBJECT
  • CF_EMBEDSOURCE
  • cfFileName
  • CF_METAFILEPICT
  • CF_DIB
  • CF_BITMAP
  • CF_ENHMETAFILE
データ オブジェクトにこれらの形式のいずれかが含まれていると判断しても、オブジェクトの作成が成功するとは限りませんが、プロセスを支援することを目的としています。

OleQueryCreateFromData は、CF_METAFILEPICT、CF_BITMAP、CF_DIB、またはCF_ENHMETAFILEのいずれかの形式を検出し、その他の形式がない場合は、OLE_S_STATICを返し、OleCreateStaticFromData 関数を呼び出して埋め込みオブジェクトを作成する必要があることを示します。

OleQueryCreateFromData で他の形式 (CF_EMBEDDEDOBJECT、CF_EMBEDSOURCE、または cfFileName) のいずれかが見つかると、静的な形式と組み合わせても、S_OKが返され、埋め込みオブジェクトを作成するために OleCreateFromData 関数を呼び出す必要があることを示します。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー ole2.h
Library Ole32.lib
[DLL] Ole32.dll
API セット ext-ms-win-com-ole32-l1-1-3 (Windows 10 バージョン 10.0.10240 で導入)

こちらもご覧ください

OleCreateFromData

OleCreateStaticFromData

OleQueryLinkFromData