次の方法で共有


OleRegGetUserType 関数 (ole2.h)

レジストリから指定したクラスのユーザー型を取得します。

カスタム DLL オブジェクト アプリケーションの開発者は、この関数を使用して、OLE の既定のハンドラーの動作をエミュレートします。

構文

HRESULT OleRegGetUserType(
  [in]  REFCLSID clsid,
  [in]  DWORD    dwFormOfType,
  [out] LPOLESTR *pszUserType
);

パラメーター

[in] clsid

ユーザー型が要求されるクラスの CLSID。

[in] dwFormOfType

ユーザーが提示できる文字列の形式。 指定できる値は、列挙 USERCLASSTYPE から取得されます。

[out] pszUserType

ユーザー型を受け取る文字列へのポインター。

戻り値

この関数は、標準の戻り値E_OUTOFMEMORYと、次の値を返すことができます。

リターン コード 説明
S_OK
ユーザーの種類が正常に返されました。
REGDB_E_CLASSNOTREG
クラス オブジェクトに CLSID が登録されていません。
REGDB_E_READREGDB
レジストリからの読み取り中にエラーが発生しました。
OLE_E_REGDB_KEY
ProgID = MainUserTypeName キーと CLSID = MainUserTypeName キーがレジストリに存在しません。

注釈

オブジェクト アプリケーションは、2 つの方法のいずれかで、指定したクラスのユーザー型名を取得するように OLE に依頼できます。 1 つの方法は、 OleRegGetUserType を呼び出す方法です。 もう 1 つは、 IOleObject::GetUserType に対する既定のオブジェクト ハンドラーによる呼び出しに応答してOLE_S_USEREGを返す方法です。 OLE_S_USEREGは、 OleRegGetUserType を呼び出すように既定のハンドラーに指示します。 DLL オブジェクト アプリケーションはOLE_S_USEREGを返すことができないため、ジョブをオブジェクト ハンドラーに委任するのではなく、 OleRegGetUserType を呼び出す必要があります。

OleRegGetUserType 関数とその兄弟関数 OleRegGetMiscStatusOleRegEnumFormatEtcおよび OleRegEnumVerbs は、カスタム 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 で導入)

こちらもご覧ください

IOleObject::GetUserType

OleRegEnumFormatEtc

OleRegEnumVerbs

OleRegGetMiscStatus