OleCreate 関数 (ole.h)

CLSID によって識別される埋め込みオブジェクトを作成します。 通常、これを使用して、エンド ユーザーが新しいオブジェクトを挿入できるようにするメニュー項目を実装します。

構文

OLESTATUS OleCreate(
  LPCSTR        unnamedParam1,
  LPOLECLIENT   unnamedParam2,
  LPCSTR        unnamedParam3,
  LHCLIENTDOC   unnamedParam4,
  LPCSTR        unnamedParam5,
  LPOLEOBJECT   *unnamedParam6,
  OLEOPT_RENDER unnamedParam7,
  OLECLIPFORMAT unnamedParam8
);

パラメーター

unnamedParam1

TBD

unnamedParam2

TBD

unnamedParam3

TBD

unnamedParam4

TBD

unnamedParam5

TBD

unnamedParam6

TBD

unnamedParam7

TBD

unnamedParam8

TBD

戻り値

この関数は成功時にS_OKを返し、標準の戻り値E_OUTOFMEMORYをサポートします。

リターン コード 説明
E_OUTOFMEMORY
操作のメモリ不足。

注釈

OleCreate 関数は、新しい埋め込みオブジェクトを作成し、通常はメニュー項目 Insert New Object を実装するために呼び出されます。 OleCreate が戻るときに、renderopt がOLERENDER_DRAWまたはOLERENDER_FORMATされ、読み込まれていない限り、作成したオブジェクトは空白になります (データは含まれません)。 コンテナーは通常、 OleRun 関数または IOleObject::D oVerb を呼び出して、最初の編集用のオブジェクトを表示します。

rclsid パラメーターは、要求されたオブジェクトの CLSID を指定します。 登録済みオブジェクトの CLSID は、システム・レジストリーに保管されます。 アプリケーション ユーザーが [オブジェクトの挿入] を選択すると、選択ボックスを使用して、レジストリ内のオブジェクトから目的のオブジェクトの種類を選択できます。 OleCreate を使用して [オブジェクトの挿入] メニュー項目を実装すると、選択した項目に関連付けられている CLSID が OleCreate の rclsid パラメーターに割り当てられます。

riid パラメーターは、クライアントが新しいオブジェクトとの通信に使用するインターフェイスを指定します。 正常に戻ると、 ppvObject パラメーターは要求されたインターフェイスへのポインターを保持します。

作成されたオブジェクトのキャッシュには、コンテナーを開いたときに包含オブジェクトの表示を可能にする情報が含まれています。 キャッシュする必要がある内容に関する情報は、 renderopt 値と pFormatetc 値に渡されます。 OleCreate が返された場合、作成されたオブジェクトのキャッシュは必ずしも満たされるとは限りません。 代わりに、オブジェクトが初めて実行中の状態に入った時点でキャッシュがいっぱいになります。 呼び出し元は、OleCreate が返された後、オブジェクトが実行される前に、IOleCache::Cache を呼び出してキャッシュ コントロールを追加できます。 renderopt がOLERENDER_DRAWまたはOLERENDER_FORMATの場合、 OleCreate では、オブジェクトが IOleCache インターフェイスをサポートしている必要があります。 renderopt の他の値に対してこのような要件はありません。

pClientSiteNULL 以外の場合、OleCreate は pClientSite ポインターを介して IOleObject::SetClientSite呼び出します。 IOleClientSite は、オブジェクトがコンテナーからサービスを要求するプライマリ インターフェイスです。 pClientSiteNULL の場合は、操作を試行する前に IOleObject::SetClientSite を特定の呼び出しを行う必要があります。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー ole.h (Ole2.h を含む)
Library Ole32.lib
[DLL] Ole32.dll

こちらもご覧ください

FORMATETC

IOleClientSite

IOleObject

OLERENDER