Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
311c0016
Commit
311c0016
authored
May 19, 2007
by
Vitaliy Margolen
Committed by
Alexandre Julliard
May 21, 2007
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ntdll: Implement RtlWriteRegistryValue and forward ntoskrnl to it.
parent
847cc51d
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
44 additions
and
2 deletions
+44
-2
ntdll.spec
dlls/ntdll/ntdll.spec
+1
-1
reg.c
dlls/ntdll/reg.c
+41
-0
ntoskrnl.exe.spec
dlls/ntoskrnl.exe/ntoskrnl.exe.spec
+1
-1
winternl.h
include/winternl.h
+1
-0
No files found.
dlls/ntdll/ntdll.spec
View file @
311c0016
...
...
@@ -910,7 +910,7 @@
@ stub RtlWalkFrameChain
@ stdcall RtlWalkHeap(long ptr)
@ stub RtlWriteMemoryStream
@ st
ub RtlWriteRegistryValue
@ st
dcall RtlWriteRegistryValue(long ptr ptr long ptr long)
@ stub RtlZeroHeap
@ stdcall RtlZeroMemory(ptr long)
# @ stub RtlZombifyActivationContext
...
...
dlls/ntdll/reg.c
View file @
311c0016
...
...
@@ -1334,3 +1334,44 @@ NTSTATUS WINAPI RtlDeleteRegistryValue(IN ULONG RelativeTo, IN PCWSTR Path, IN P
NtClose
(
handle
);
return
status
;
}
/*************************************************************************
* RtlWriteRegistryValue [NTDLL.@]
*
* Sets the registry value with provided data.
*
* PARAMS
* RelativeTo [I] Registry path that path parameter refers to
* path [I] Path to the key (or handle - see RTL_GetKeyHandle)
* name [I] Name of the registry value to set
* type [I] Type of the registry key to set
* data [I] Pointer to the user data to be set
* length [I] Length of the user data pointed by data
*
* RETURNS
* STATUS_SUCCESS if the specified key is successfully set,
* or an NTSTATUS error code.
*/
NTSTATUS
WINAPI
RtlWriteRegistryValue
(
ULONG
RelativeTo
,
PCWSTR
path
,
PCWSTR
name
,
ULONG
type
,
PVOID
data
,
ULONG
length
)
{
HANDLE
hkey
;
NTSTATUS
status
;
UNICODE_STRING
str
;
TRACE
(
"(%d, %s, %s) -> %d: %p [%d]
\n
"
,
RelativeTo
,
debugstr_w
(
path
),
debugstr_w
(
name
),
type
,
data
,
length
);
RtlInitUnicodeString
(
&
str
,
name
);
if
(
RelativeTo
==
RTL_REGISTRY_HANDLE
)
return
NtSetValueKey
(
(
HANDLE
)
path
,
&
str
,
0
,
type
,
data
,
length
);
status
=
RTL_GetKeyHandle
(
RelativeTo
,
path
,
&
hkey
);
if
(
status
!=
STATUS_SUCCESS
)
return
status
;
status
=
NtSetValueKey
(
hkey
,
&
str
,
0
,
type
,
data
,
length
);
NtClose
(
hkey
);
return
status
;
}
dlls/ntoskrnl.exe/ntoskrnl.exe.spec
View file @
311c0016
...
...
@@ -1197,7 +1197,7 @@
@ stdcall RtlVerifyVersionInfo(ptr long double) ntdll.RtlVerifyVersionInfo
@ stub RtlVolumeDeviceToDosName
@ stub RtlWalkFrameChain
@ st
ub
RtlWriteRegistryValue
@ st
dcall RtlWriteRegistryValue(long ptr ptr long ptr long) ntdll.
RtlWriteRegistryValue
@ stub RtlZeroHeap
@ stdcall RtlZeroMemory(ptr long) ntdll.RtlZeroMemory
@ stdcall RtlxAnsiStringToUnicodeSize(ptr) ntdll.RtlxAnsiStringToUnicodeSize
...
...
include/winternl.h
View file @
311c0016
...
...
@@ -2240,6 +2240,7 @@ BOOLEAN WINAPI RtlValidateHeap(HANDLE,ULONG,LPCVOID);
NTSTATUS
WINAPI
RtlVerifyVersionInfo
(
const
RTL_OSVERSIONINFOEXW
*
,
DWORD
,
DWORDLONG
);
NTSTATUS
WINAPI
RtlWalkHeap
(
HANDLE
,
PVOID
);
NTSTATUS
WINAPI
RtlWriteRegistryValue
(
ULONG
,
PCWSTR
,
PCWSTR
,
ULONG
,
PVOID
,
ULONG
);
NTSTATUS
WINAPI
RtlpNtCreateKey
(
PHANDLE
,
ACCESS_MASK
,
const
OBJECT_ATTRIBUTES
*
,
ULONG
,
const
UNICODE_STRING
*
,
ULONG
,
PULONG
);
NTSTATUS
WINAPI
RtlpWaitForCriticalSection
(
RTL_CRITICAL_SECTION
*
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment