共用方式為


登錄和 TypeLib 全域函式

這些函式支援載入和註冊類型庫。

重要

下表所列的函式不能用於在 Windows 執行階段 中執行的應用程式。

名稱 描述
AfxRegCreateKey 建立指定的登錄機碼。
AfxRegDeleteKey 刪除指定的登錄機碼。
AfxRegisterPreviewHandler 註冊預覽處理常式的協助程式。
AfxUnregisterPreviewHandler 用來取消註冊預覽處理常式的協助程式。
AtlRegisterTypeLib 呼叫此函式可註冊類型程式庫。
AtlUnRegisterTypeLib 呼叫此函式以取消註冊類型庫
AfxRegOpenKey 開啟指定的登錄機碼。
AfxRegOpenKeyEx 開啟指定的登錄機碼。
AtlLoadTypeLib 呼叫此函式可載入類型程式庫。
AtlUpdateRegistryFromResourceD 呼叫此函式可更新所提供資源的登錄。
RegistryDataExchange 呼叫此函式可對系統登錄執行讀取或寫入。 由 登錄數據交換巨集呼叫。

這些函式會控制程式用來儲存資訊之登錄中的節點。

名稱 描述
AtlGetPerUserRegistration 擷取應用程式是否會將登錄存取重新導向至 HKEY_CURRENT_USER (HKCU) 節點。
AtlSetPerUserRegistration 設定應用程式是否將登錄存取重新導向至 HKEY_CURRENT_USERHKCU) 節點。

需求

標頭: atlbase.h

AtlGetPerUserRegistration

使用此函式來判斷應用程式是否會將登錄存取重新導向至 HKEY_CURRENT_USERHKCU) 節點。

語法

ATLINLINE ATLAPI AtlGetPerUserRegistration(bool* pEnabled);

參數

pEnabled
[out]TRUE 表示登錄信息會導向至 HKCU 節點;FALSE 表示應用程式會將登錄資訊寫入默認節點。 默認節點為 HKEY_CLASSES_ROOTHKCR)。

傳回值

如果方法成功,則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 中定義的非零錯誤碼。

需求

Header: afxpriv.h

AfxRegDeleteKey

刪除指定的登錄機碼。

語法

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

參數

hKey
開啟登錄機碼的句柄。

lpSubKey
要刪除之金鑰的名稱。

pTM
指向 CAtlTransactionManager 物件的指標。

傳回值

如果函式成功,則傳回值會ERROR_SUCCESS。 如果函式失敗,傳回值是 Winerror.h 中定義的非零錯誤碼。

需求

Header: 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 中定義的非零錯誤碼。

需求

Header: afxpriv.h

AfxRegOpenKeyEx

開啟指定的登錄機碼。

語法

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

參數

hKey
開啟登錄機碼的句柄。

lpSubKey
此函式開啟或建立的索引鍵名稱。

ulOptions
此參數是保留的,而且必須是零。

samDesired
指定金鑰所需存取權限的遮罩。

phkResult
接收已開啟索引鍵句柄之變數的指標。

pTM
指向 CAtlTransactionManager 物件的指標。

傳回值

如果函式成功,則傳回值會ERROR_SUCCESS。 如果函式失敗,傳回值是 Winerror.h 中定義的非零錯誤碼。

需求

Header: afxpriv.h

AfxUnregisterPreviewHandler

用來取消註冊預覽處理常式的協助程式。

語法

BOOL AFXAPI AfxUnRegisterPreviewHandler(LPCTSTR lpszCLSID);

參數

lpszCLSID
指定要取消註冊之處理常式的 CLSID。

需求

標頭: afxdisp.h

AtlSetPerUserRegistration

設定應用程式是否會將登錄存取重新導向至 HKEY_CURRENT_USERHKCU) 節點。

語法

ATLINLINE ATLAPI AtlSetPerUserRegistration(bool bEnable);

參數

bEnable
[in]TRUE 表示登錄信息會導向至 HKCU 節點;FALSE 表示應用程式會將登錄資訊寫入默認節點。 默認節點為 HKEY_CLASSES_ROOTHKCR)。

傳回值

如果方法成功,則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);

參數


目前物件的指標。

rdxOp
列舉值,指出函式應該執行的作業。 如需允許的值,請參閱一節中的表格。

pItem
要讀取或寫入登錄之數據的指標。 數據也可以代表要從登錄中刪除的機碼。 預設值是 NULL。

傳回值

傳回成功時S_OK,或在失敗時傳回錯誤 HRESULT。

備註

巨集BEGIN_RDX_MAP,END_RDX_MAP展開至呼叫 RegistryDataExchange的函式。

下表顯示指示函式應該執行的作業的可能列舉值:

列舉值 作業
eReadFromReg 從登錄讀取數據。
eWriteToReg 將數據寫入登錄。
eDeleteFromReg 從登錄中刪除機碼。

需求

標頭: atlbase.h

另請參閱

函式
登錄資料交換巨集