小编Lar*_*ars的帖子

从C#加载注册表配置单元失败

我试图加载离线NTUSER.DAT文件(然后修改它),但我不能让这个工作.RegLoadKey返回8589934592,我不知道这意味着什么.这是失败的一行:

long retVal = RegLoadKey(HKEY_USERS, "123test", @"D:\temp\NTUSER.DAT");
Run Code Online (Sandbox Code Playgroud)

这是完整的测试代码:

public class RegistryTest
{
    [StructLayout(LayoutKind.Sequential)]
    private struct LUID
    {
        public uint LowPart;
        public int HighPart;
    }

    [StructLayout(LayoutKind.Sequential)]
    private struct LUID_AND_ATTRIBUTES
    {
        public LUID pLuid;
        public UInt32 Attributes;
    }

    [StructLayout(LayoutKind.Sequential, Pack = 1)]
    private struct TokPriv1Luid
    {
        public int Count;
        public LUID Luid;
        public UInt32 Attr;
    }

    private const Int32 ANYSIZE_ARRAY = 1;
    private const UInt32 SE_PRIVILEGE_ENABLED = 0x00000002;
    private const UInt32 TOKEN_ADJUST_PRIVILEGES = 0x0020;
    private const UInt32 TOKEN_QUERY = 0x0008;

    private const …
Run Code Online (Sandbox Code Playgroud)

.net c# registry pinvoke

2
推荐指数
1
解决办法
5130
查看次数

标签 统计

.net ×1

c# ×1

pinvoke ×1

registry ×1