次の方法で共有


OleRegEnumVerbs 関数 (ole2.h)

指定したクラスの登録済み動詞の列挙体を提供します。 カスタム DLL オブジェクト アプリケーションの開発者は、この関数を使用して、既定のオブジェクト ハンドラーの動作をエミュレートします。

構文

HRESULT OleRegEnumVerbs(
  [in]  REFCLSID      clsid,
  [out] LPENUMOLEVERB *ppenum
);

パラメーター

[in] clsid

動詞が要求されているクラス識別子。

[out] ppenum

新しい列挙オブジェクトへのインターフェイス ポインターを受け取る IEnumOLEVERB* ポインター変数のアドレス。

戻り値

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

リターン コード 説明
OLEOBJ_E_NOVERBS
クラスに動詞は登録されません。
REGDB_E_CLASSNOTREG
クラス オブジェクトに CLSID が登録されていません。
REGDB_E_READREGDB
レジストリの読み取り中にエラーが発生しました。
OLE_E_REGDB_KEY
DataFormats/GetSet キーがレジストリに存在しません。

注釈

オブジェクト アプリケーションは、サポートされている動詞を 2 つの方法のいずれかで列挙するために 、OLEVERB 構造体の列挙オブジェクトを作成するように OLE に依頼できます。 1 つの方法は、 OleRegEnumVerbs を呼び出す方法です。 もう 1 つの方法は、 IOleObject::EnumVerbs に対する既定のオブジェクト ハンドラーによる呼び出しに応答して、OLE_S_USEREGを返す方法です。 OLE_S_USEREGは、 OleRegEnumVerbs を呼び出すように既定のハンドラーに指示します。 DLL オブジェクト アプリケーションはOLE_S_USEREGを返すことができないため、ジョブをオブジェクト ハンドラーに委任するのではなく 、OleRegEnumVerbs を呼び出す必要があります。 指定された IEnumOLEVERB ポインターをオブジェクトに対して使用すると、標準の列挙オブジェクト メソッドを呼び出して列挙を実行できます。

OleRegEnumVerbs 関数とその兄弟関数 OleRegGetUserTypeOleRegGetMiscStatusおよび 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 で導入)

こちらもご覧ください

IEnumOLEVERB

IOleObject::EnumVerbs