レジストリとタイプ ライブラリに関するグローバル関数
これらの関数は、タイプ ライブラリの読み込みと登録をサポートします。
重要
次の表に示す関数は、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 を返します。
解説
このヘルパー関数は、AtlComModuleUnregisterServer と CAtlComModule::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::UnRegisterTypeLib と AtlComModuleUnregisterServer によって使用されます。
要件
ヘッダー: atlbase.h
AtlLoadTypeLib
この関数は、タイプ ライブラリを読み込むために呼び出されます。
構文
ATLINLINE ATLAPI AtlLoadTypeLib(
HINSTANCE hInstTypeLib,
LPCOLESTR lpszIndex,
BSTR* pbstrPath,
ITypeLib** ppTypeLib);
パラメーター
hInstTypeLib
タイプ ライブラリに関連付けられているモジュールへのハンドル。
lpszIndex
"\\N" という形式の文字列。ここで、N はタイプ ライブラリ リソースの整数インデックスです。 インデックスが不要な場合は NULL を指定できます。
pbstrPath
正常に返された場合、タイプ ライブラリに関連付けられているモジュールの完全なパスが格納されます。
ppTypeLib
正常に返された場合、読み込まれたタイプ ライブラリへのポインターへのポインターが含まれます。
戻り値
成功した場合は S_OK、失敗した場合はエラー HRESULT を返します。
解説
このヘルパー関数は、AtlRegisterTypeLib と AtlUnRegisterTypeLib によって使用されます。
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_MAP と END_RDX_MAP は RegistryDataExchange
を呼び出す関数に展開されます。
関数が実行する必要がある操作を示す、可能な列挙値を次の表に示します。
列挙値 | 操作 |
---|---|
eReadFromReg | レジストリからデータを読み取ります。 |
eWriteToReg | レジストリにデータを書き込みます。 |
eDeleteFromReg | レジストリからキーを削除します。 |
要件
ヘッダー: atlbase.h