OleRegEnumVerbs 関数 (ole2.h)
指定したクラスの登録済み動詞の列挙体を提供します。 カスタム DLL オブジェクト アプリケーションの開発者は、この関数を使用して、既定のオブジェクト ハンドラーの動作をエミュレートします。
構文
HRESULT OleRegEnumVerbs(
[in] REFCLSID clsid,
[out] LPENUMOLEVERB *ppenum
);
パラメーター
[in] clsid
動詞が要求されているクラス識別子。
[out] ppenum
新しい列挙オブジェクトへのインターフェイス ポインターを受け取る IEnumOLEVERB* ポインター変数のアドレス。
戻り値
この関数は、成功したS_OKを返します。 その他の可能な値は次のとおりです。
リターン コード | 説明 |
---|---|
|
クラスに動詞は登録されません。 |
|
クラス オブジェクトに CLSID が登録されていません。 |
|
レジストリの読み取り中にエラーが発生しました。 |
|
DataFormats/GetSet キーがレジストリに存在しません。 |
注釈
オブジェクト アプリケーションは、サポートされている動詞を 2 つの方法のいずれかで列挙するために 、OLEVERB 構造体の列挙オブジェクトを作成するように OLE に依頼できます。 1 つの方法は、 OleRegEnumVerbs を呼び出す方法です。 もう 1 つの方法は、 IOleObject::EnumVerbs に対する既定のオブジェクト ハンドラーによる呼び出しに応答して、OLE_S_USEREGを返す方法です。 OLE_S_USEREGは、 OleRegEnumVerbs を呼び出すように既定のハンドラーに指示します。 DLL オブジェクト アプリケーションはOLE_S_USEREGを返すことができないため、ジョブをオブジェクト ハンドラーに委任するのではなく 、OleRegEnumVerbs を呼び出す必要があります。 指定された IEnumOLEVERB ポインターをオブジェクトに対して使用すると、標準の列挙オブジェクト メソッドを呼び出して列挙を実行できます。
OleRegEnumVerbs 関数とその兄弟関数 OleRegGetUserType、OleRegGetMiscStatus、および OleRegEnumFormatEtc は、カスタム DLL オブジェクト アプリケーションの開発者が、レジストリからオブジェクトに関する情報を取得する際に OLE の既定のオブジェクト ハンドラーの動作をエミュレートする方法を提供します。 これらの関数を使用すると、独自の関数を記述する作業や、レジストリで直接作業する際の落とし穴を回避できます。 さらに、これらの関数を自分でコーディングしなくても、これらの関数の将来の機能強化と最適化が行われます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | 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 で導入) |