次の方法で共有


レジストリとタイプ ライブラリに関するグローバル関数

これらの関数は、タイプ ライブラリの読み込みと登録をサポートします。

重要

次の表に示す関数は、Windows ランタイムで実行されるアプリケーションでは使用できません。

名前 説明
AfxRegCreateKey 指定したレジストリ キーが作成されます。
AfxRegDeleteKey 指定したレジストリ キーが削除されます。
AfxRegisterPreviewHandler プレビュー ハンドラーを登録するためのヘルパー。
AfxUnregisterPreviewHandler プレビュー ハンドラーを登録解除するためのヘルパー。
AtlRegisterTypeLib この関数は、タイプ ライブラリを登録するために呼び出されます。
AtlUnRegisterTypeLib この関数は、タイプ ライブラリの登録を解除するために呼び出されます
AfxRegOpenKey 指定したレジストリ キーが開きます。
AfxRegOpenKeyEx 指定したレジストリ キーが開きます。
AtlLoadTypeLib この関数は、タイプ ライブラリを読み込むために呼び出されます。
AtlUpdateRegistryFromResourceD この関数は、提供されたリソースのレジストリを更新するために呼び出されます。
RegistryDataExchange システム レジストリのデータの読み取り/書き込みを行います。 レジストリ データ交換に関するマクロによって呼び出されます。

これらの関数は、プログラムが情報を格納するために使用するレジストリ内のノードを制御します。

名前 説明
AtlGetPerUserRegistration アプリケーションがレジストリ アクセスを HKEY_CURRENT_USER (HKCU) ノードにリダイレクトするかどうかを取得します。
AtlSetPerUserRegistration アプリケーションがレジストリ アクセスを HKEY_CURRENT_USER (HKCU) ノードにリダイレクトするかどうかを設定します。

要件

ヘッダー: atlbase.h

AtlGetPerUserRegistration

この関数は、アプリケーションがレジストリ アクセスを HKEY_CURRENT_USER (HKCU) ノードにリダイレクトするかどうかを設定するために使用します。

構文

ATLINLINE ATLAPI AtlGetPerUserRegistration(bool* pEnabled);

パラメーター

pEnabled
[出力] TRUE は、レジストリ情報が HKCU ノードに送られることを示します。FALSE は、アプリケーションが既定のノードにレジストリ情報を書き込むことを示します。 既定のノードは HKEY_CLASSES_ROOT (HKCR) です。

戻り値

メソッドが成功した場合は S_OK、それ以外のエラーが発生した場合は HRESULT エラー コードを返します。

解説

レジストリ リダイレクトは既定では有効になっていません。 このオプションを有効にすると、レジストリ アクセスは HKEY_CURRENT_USER\Software\Classes にリダイレクトされます。

このリダイレクトはグローバルではありません。 このレジストリ リダイレクトの影響を受けるのは、MFC と ATL のフレームワークのみです。

要件

ヘッダー: atlbase.h

AfxRegCreateKey

指定したレジストリ キーが作成されます。

構文

LONG AFXAPI AfxRegCreateKey(HKEY hKey, LPCTSTR lpSubKey, PHKEY phkResult, CAtlTransactionManager* pTM = NULL);

パラメーター

hKey
開いているレジストリ キーへのハンドル。

lpSubKey
この関数によって開かれる、または作成されるキーの名前。

phkResult
開かれた、または作成されたキーへのハンドルを受け取る変数へのポインター。

pTM
CAtlTransactionManager オブジェクトを指すポインター。

戻り値

関数が成功した場合、戻り値は ERROR_SUCCESS です。 関数が失敗した場合、戻り値は Winerror.h で定義されている 0 以外のエラー コードです。

要件

ヘッダー: afxpriv.h

AfxRegDeleteKey

指定したレジストリ キーが削除されます。

構文

LONG AFXAPI AfxRegDeleteKey(HKEY hKey, LPCTSTR lpSubKey, CAtlTransactionManager* pTM = NULL);

パラメーター

hKey
開いているレジストリ キーへのハンドル。

lpSubKey
削除するキーの名前。

pTM
CAtlTransactionManager オブジェクトを指すポインター。

戻り値

関数が成功した場合、戻り値は ERROR_SUCCESS です。 関数が失敗した場合、戻り値は Winerror.h で定義されている 0 以外のエラー コードです。

要件

ヘッダー: afxpriv.h

プレビュー ハンドラーを登録するためのヘルパー。

構文

BOOL AFXAPI AfxRegisterPreviewHandler(LPCTSTR lpszCLSID, LPCTSTR lpszShortTypeName, LPCTSTR lpszFilterExt);

パラメーター

lpszCLSID
ハンドラーの CLSID を指定します。

lpszShortTypeName
ハンドラーの ProgID を指定します。

lpszFilterExt
このハンドラーに登録されているファイル拡張子を指定します。

要件

ヘッダー : afxdisp.h

AtlRegisterTypeLib

この関数は、タイプ ライブラリを登録するために呼び出されます。

ATLAPI AtlRegisterTypeLib(HINSTANCE hInstTypeLib, LPCOLESTR lpszIndex);

パラメーター

hInstTypeLib
モジュール インスタンスへのハンドル。

lpszIndex
"\\N" という形式の文字列。ここで、N はタイプ ライブラリ リソースの整数インデックスです。 インデックスが不要な場合は NULL を指定できます。

戻り値

成功した場合は S_OK、失敗した場合はエラー HRESULT を返します。

解説

このヘルパー関数は、AtlComModuleUnregisterServerCAtlComModule::RegisterTypeLib によって使用されます。

要件

ヘッダー: atlbase.h

AfxRegOpenKey

指定したレジストリ キーが開きます。

構文

LONG AFXAPI AfxRegOpenKey(HKEY hKey, LPCTSTR lpSubKey, PHKEY phkResult, CAtlTransactionManager* pTM = NULL);

パラメーター

hKey
開いているレジストリ キーへのハンドル。

lpSubKey
この関数によって開かれる、または作成されるキーの名前。

phkResult
作成されたキーへのハンドルを受け取る変数へのポインター。

pTM
CAtlTransactionManager オブジェクトを指すポインター。

戻り値

関数が成功した場合、戻り値は ERROR_SUCCESS です。 関数が失敗した場合、戻り値は Winerror.h で定義されている 0 以外のエラー コードです。

要件

ヘッダー: afxpriv.h

AfxRegOpenKeyEx

指定したレジストリ キーが開きます。

構文

LONG AFXAPI AfxRegOpenKeyEx(HKEY hKey, LPCTSTR lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult, CAtlTransactionManager* pTM = NULL);

パラメーター

hKey
開いているレジストリ キーへのハンドル。

lpSubKey
この関数によって開かれる、または作成されるキーの名前。

ulOptions
このパラメーターは予約されており、0 である必要があります。

samDesired
キーに対して必要なアクセス権を指定するマスク。

phkResult
開かれたキーへのハンドルを受け取る変数へのポインター。

pTM
CAtlTransactionManager オブジェクトを指すポインター。

戻り値

関数が成功した場合、戻り値は ERROR_SUCCESS です。 関数が失敗した場合、戻り値は Winerror.h で定義されている 0 以外のエラー コードです。

要件

ヘッダー: afxpriv.h

AfxUnregisterPreviewHandler

プレビュー ハンドラーを登録解除するためのヘルパー。

構文

BOOL AFXAPI AfxUnRegisterPreviewHandler(LPCTSTR lpszCLSID);

パラメーター

lpszCLSID
登録解除するハンドラーの CLSID を指定します。

要件

ヘッダー : afxdisp.h

AtlSetPerUserRegistration

アプリケーションがレジストリ アクセスを HKEY_CURRENT_USER (HKCU) ノードにリダイレクトするかどうかを設定します。

構文

ATLINLINE ATLAPI AtlSetPerUserRegistration(bool bEnable);

パラメーター

bEnable
[入力] TRUE は、レジストリ情報が HKCU ノードに送られることを示します。FALSE は、アプリケーションが既定のノードにレジストリ情報を書き込むことを示します。 既定のノードは HKEY_CLASSES_ROOT (HKCR) です。

戻り値

メソッドが成功した場合は S_OK、それ以外のエラーが発生した場合は HRESULT エラー コードを返します。

解説

レジストリ リダイレクトは既定では有効になっていません。 このオプションを有効にすると、レジストリ アクセスは HKEY_CURRENT_USER\Software\Classes にリダイレクトされます。

このリダイレクトはグローバルではありません。 このレジストリ リダイレクトの影響を受けるのは、MFC と ATL のフレームワークのみです。

要件

ヘッダー: atlbase.h

AtlUnRegisterTypeLib

この関数は、タイプ ライブラリの登録を解除するために呼び出されます。

構文

ATLAPI AtlUnRegisterTypeLib(
    HINSTANCE hInstTypeLib,
    LPCOLESTR lpszIndex);

パラメーター

hInstTypeLib
モジュール インスタンスへのハンドル。

lpszIndex
"\\N" という形式の文字列。ここで、N はタイプ ライブラリ リソースの整数インデックスです。 インデックスが不要な場合は NULL を指定できます。

戻り値

成功した場合は S_OK、失敗した場合はエラー HRESULT を返します。

解説

このヘルパー関数は、CAtlComModule::UnRegisterTypeLibAtlComModuleUnregisterServer によって使用されます。

要件

ヘッダー: atlbase.h

AtlLoadTypeLib

この関数は、タイプ ライブラリを読み込むために呼び出されます。

構文

ATLINLINE ATLAPI AtlLoadTypeLib(
    HINSTANCE hInstTypeLib,
    LPCOLESTR lpszIndex,
    BSTR* pbstrPath,
    ITypeLib** ppTypeLib);

パラメーター

hInstTypeLib
タイプ ライブラリに関連付けられているモジュールへのハンドル。

lpszIndex
"\\N" という形式の文字列。ここで、N はタイプ ライブラリ リソースの整数インデックスです。 インデックスが不要な場合は NULL を指定できます。

pbstrPath
正常に返された場合、タイプ ライブラリに関連付けられているモジュールの完全なパスが格納されます。

ppTypeLib
正常に返された場合、読み込まれたタイプ ライブラリへのポインターへのポインターが含まれます。

戻り値

成功した場合は S_OK、失敗した場合はエラー HRESULT を返します。

解説

このヘルパー関数は、AtlRegisterTypeLibAtlUnRegisterTypeLib によって使用されます。

AtlUpdateRegistryFromResourceD

この関数は Visual Studio 2013 で非推奨とされ、Visual Studio 2015 で削除されます。

<removed>

RegistryDataExchange

システム レジストリのデータの読み取り/書き込みを行います。

構文

HRESULT RegistryDataExchange(
    T* pT,
    enum RDXOperations rdxOp,
    void* pItem = NULL);

パラメーター

pT
現在のオブジェクトへのポインター。

rdxOp
関数で実行する必要がある操作を示す列挙値。 可能な値については、「注釈」セクションの表を参照してください。

pItem
レジストリから読み取る、またはレジストリに書き込まれるデータへのポインター。 データは、レジストリから削除するキーを表す場合もあります。 既定値は NULL です。

戻り値

成功した場合は S_OK、失敗した場合はエラー HRESULT を返します。

解説

マクロ BEGIN_RDX_MAPEND_RDX_MAPRegistryDataExchange を呼び出す関数に展開されます。

関数が実行する必要がある操作を示す、可能な列挙値を次の表に示します。

列挙値 操作
eReadFromReg レジストリからデータを読み取ります。
eWriteToReg レジストリにデータを書き込みます。
eDeleteFromReg レジストリからキーを削除します。

要件

ヘッダー: atlbase.h

関連項目

関数
レジストリ データ エクスチェンジに関するマクロ