ILocalRegistry4.GetLocalRegistryRootEx 方法
返回本地注册表根。
命名空间: Microsoft.VisualStudio.Shell.Interop
程序集: Microsoft.VisualStudio.Shell.Interop.9.0(在 Microsoft.VisualStudio.Shell.Interop.9.0.dll 中)
语法
声明
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
)
参数
- dwRegType
类型:System.UInt32
[in] 指定注册表项的 __VsLocalRegistryType 值。
- pdwRegRootHandle
类型:System.UInt32%
[in] 指定注册表根处理的 __VsLocalRegistryRootHandle 值。
- pbstrRoot
类型:System.String%
[out] 对包含本地注册表根的字符串的指针。
返回值
类型:System.Int32
如果方法成功,则返回 S_OK。如果失败,它会返回一个错误代码。
备注
应为需要对注册表根的任何新代码使用GetLocalRegistryRootEx 。方法允许放置注册表的基于计算机的配置节在不同的注册表项和路径下。
对应的服务是 SID_SLocalRegistry
通过使用所具有的指针,该接口是线程安全的,并且可以直接调用从后台线程或。
示例
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 安全性
- 对直接调用方的完全信任。此成员不能由部分信任的代码使用。有关更多信息,请参见通过部分受信任的代码使用库。