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をサポートします。
リターン コード | 説明 |
---|---|
|
操作のメモリ不足。 |
注釈
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 の他の値に対してこのような要件はありません。
pClientSite が NULL 以外の場合、OleCreate は pClientSite ポインターを介して IOleObject::SetClientSiteを呼び出します。 IOleClientSite は、オブジェクトがコンテナーからサービスを要求するプライマリ インターフェイスです。 pClientSite が NULL の場合は、操作を試行する前に IOleObject::SetClientSite を特定の呼び出しを行う必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | ole.h (Ole2.h を含む) |
Library | Ole32.lib |
[DLL] | Ole32.dll |