ILocalRegistry4.GetLocalRegistryRootEx Method
Returns the local registry root.
Namespace: Microsoft.VisualStudio.Shell.Interop
Assembly: Microsoft.VisualStudio.Shell.Interop.9.0 (in Microsoft.VisualStudio.Shell.Interop.9.0.dll)
Syntax
'Declaration
Function GetLocalRegistryRootEx ( _
dwRegType As UInteger, _
<OutAttribute> ByRef pdwRegRootHandle As UInteger, _
<OutAttribute> ByRef pbstrRoot As String _
) As Integer
int GetLocalRegistryRootEx(
uint dwRegType,
out uint pdwRegRootHandle,
out string pbstrRoot
)
int GetLocalRegistryRootEx(
[InAttribute] unsigned int dwRegType,
[OutAttribute] unsigned int% pdwRegRootHandle,
[OutAttribute] String^% pbstrRoot
)
abstract GetLocalRegistryRootEx :
dwRegType:uint32 *
pdwRegRootHandle:uint32 byref *
pbstrRoot:string byref -> int
function GetLocalRegistryRootEx(
dwRegType : uint,
pdwRegRootHandle : uint,
pbstrRoot : String
) : int
Parameters
dwRegType
Type: UInt32[in] A __VsLocalRegistryType value that specifies the registry hive.
pdwRegRootHandle
Type: UInt32%[in] A __VsLocalRegistryRootHandle value that specifies the registry root handle.
pbstrRoot
Type: String%[out] Pointer to a string that contains the local registry root.
Return Value
Type: Int32
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
GetLocalRegistryRootEx should be used for all new code that requires access to the registry root. The method allows for placing the per-computer configuration pieces of the registry under a different registry key and/or path.
The corresponding service is SID_SLocalRegistry
This interface is thread-safe and can be called from a background thread directly or by using a marshaled pointer.
Examples
ILocalRegistry4* pLocalRegistry = /* Get the local registry */
VSLOCALREGISTRYROOTHANDLE hKey = RegHandle_Invalid;
BSTR bstrPath = NULL;
if( SUCCEEDED( pLocalRegistry->GetRegistryRootEx(
RegType_UserSettings, &hKey, &bstrPath ) ) )
{
HKEY hkUser = NULL;
LONG lr = RegOpenKeyEx( hKey, bstrPath, 0, KEY_READ, &hkUser );
if( ERROR_SUCCESS == lr )
{
// Query values as needed
RegCloseKey( hkUser );
}
SysFreeString(bstrPath);
}
.NET Framework Security
- Full trust for the immediate caller. This member cannot be used by partially trusted code. For more information, see Using Libraries from Partially Trusted Code.