/// <summary> /// Save the opened key into a file. /// </summary> /// <param name="path">The file path to save to.</param> /// <param name="flags">Save key flags</param> public void Save(string path, SaveKeyFlags flags) { using (NtFile file = NtFile.Create(path, null, FileAccessRights.GenericWrite | FileAccessRights.Synchronize, FileAttributes.Normal, FileShareMode.None, FileOpenOptions.SynchronousIoNonAlert, FileDisposition.Create, null)) { Save(file, flags); } }
public static extern NtStatus NtSaveKeyEx( SafeKernelObjectHandle KeyHandle, SafeKernelObjectHandle FileHandle, SaveKeyFlags Flags );
/// <summary> /// Save the opened key into a file. /// </summary> /// <param name="file">The file to save to.</param> /// <param name="flags">Save key flags</param> public void Save(NtFile file, SaveKeyFlags flags) { NtSystemCalls.NtSaveKeyEx(Handle, file.Handle, flags).ToNtException(); }