Registry and TypeLib Global Functions
The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.
The latest version of this topic can be found at Registry and TypeLib Global Functions.
These functions provide support for loading and registering a type library.
Important
The functions listed in the following tables cannot be used in applications that execute in the Windows Runtime.
AtlRegisterTypeLib | This function is called to register a type library. |
AtlUnRegisterTypeLib | This function is called to unregister a type library |
AtlLoadTypeLib | This function is called to load a type library. |
AtlUpdateRegistryFromResourceD | This function is called to update the registry from the supplied resource. |
RegistryDataExchange | This function is called to read from, or write to, the system registry. Called by the Registry Data Exchange Macros. |
These functions control which node in the registry the program uses to store information.
AtlGetPerUserRegistration | Retrieves whether the application redirects registry access to the HKEY_CURRENT_USER ( HKCU) node. |
AtlSetPerUserRegistration | Sets whether the application redirects registry access to the HKEY_CURRENT_USER ( HKCU) node. |
AtlRegisterTypeLib
This function is called to register a type library.
Important
This function cannot be used in applications that execute in the Windows Runtime.
ATLAPI AtlRegisterTypeLib(HINSTANCE hInstTypeLib, LPCOLESTR lpszIndex);
Parameters
hInstTypeLib
The handle to the module instance.
lpszIndex
String in the format "\\N", where N is the integer index of the type library resource. Can be NULL if no index is required.
Return Value
Returns S_OK on success, or an error HRESULT on failure.
Remarks
This helper function is utilized by AtlComModuleUnregisterServer and CAtlComModule::RegisterTypeLib.
AtlUnRegisterTypeLib
This function is called to unregister a type library.
Important
This function cannot be used in applications that execute in the Windows Runtime.
ATLAPI AtlUnRegisterTypeLib(
HINSTANCE hInstTypeLib,
LPCOLESTR lpszIndex);
Parameters
hInstTypeLib
The handle to the module instance.
lpszIndex
String in the format "\\N", where N is the integer index of the type library resource. Can be NULL if no index is required.
Return Value
Returns S_OK on success, or an error HRESULT on failure.
Remarks
This helper function is utilized by CAtlComModule::UnRegisterTypeLib and AtlComModuleUnregisterServer.
AtlLoadTypeLib
This function is called to load a type library.
Important
This function cannot be used in applications that execute in the Windows Runtime.
ATLINLINE ATLAPI AtlLoadTypeLib(
HINSTANCE hInstTypeLib,
LPCOLESTR lpszIndex,
BSTR* pbstrPath,
ITypeLib** ppTypeLib);
Parameters
hInstTypeLib
Handle to the module associated with the type library.
lpszIndex
String in the format "\\N", where N is the integer index of the type library resource. Can be NULL if no index is required.
pbstrPath
On successful return, contains the full path of the module associated with the type library.
ppTypeLib
On successful return, contains a pointer to a pointer to the loaded type library.
Return Value
Returns S_OK on success, or an error HRESULT on failure.
Remarks
This helper function is utilized by AtlRegisterTypeLib and AtlUnRegisterTypeLib.
AtlUpdateRegistryFromResourceD
This function was deprecated in Visual Studio 2013 and is removed in Visual Studio 2015.
<removed>
Parameters
Return Value
Remarks
RegistryDataExchange
This function is called to read from, or write to, the system registry.
Important
This function cannot be used in applications that execute in the Windows Runtime.
HRESULT RegistryDataExchange(
T* pT,
enum RDXOperations rdxOp,
void* pItem = NULL);
Parameters
pT
A pointer to the current object.
rdxOp
An enum value that indicates which operation the function should perform. See the table in the Remarks section for the allowed values.
pItem
Pointer to the data that is to be read from, or written to, the registry. The data can also represent a key to be deleted from the registry. The default value is NULL.
Return Value
Returns S_OK on success, or an error HRESULT on failure.
Remarks
The macros BEGIN_RDX_MAP and END_RDX_MAP expand to a function that calls RegistryDataExchange
.
The possible enum values that indicate the operation the function should perform are shown in the following table:
Enum value | Operation |
---|---|
eReadFromReg | Read data from the registry. |
eWriteToReg | Write data to the registry. |
eDeleteFromReg | Delete the key from the registry. |
Registry Data Exchange Macros
These macros perform Registry Data Exchange operations.
BEGIN_RDX_MAP | Marks the beginning of the Registry Data Exchange map. |
END_RDX_MAP | Marks the end of the Registry Data Exchange map. |
RDX_BINARY | Associates the specified registry entry with a specified member variable of type BYTE. |
RDX_CSTRING_TEXT | Associates the specified registry entry with a specified member variable of type CString. |
RDX_DWORD | Associates the specified registry entry with a specified member variable of type DWORD. |
RDX_TEXT | Associates the specified registry entry with a specified member variable of type TCHAR. |