我试图加载离线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)