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
df0f42fe
Commit
df0f42fe
authored
Mar 11, 2008
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
advapi32: Implemented RegOverridePredefKey.
parent
9ab07d5b
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
28 additions
and
1 deletion
+28
-1
advapi32.spec
dlls/advapi32/advapi32.spec
+1
-1
registry.c
dlls/advapi32/registry.c
+26
-0
winreg.h
include/winreg.h
+1
-0
No files found.
dlls/advapi32/advapi32.spec
View file @
df0f42fe
...
...
@@ -499,7 +499,7 @@
@ stdcall RegOpenKeyExW(long wstr long long ptr)
@ stdcall RegOpenKeyW(long wstr ptr)
@ stdcall RegOpenUserClassesRoot(ptr long long ptr)
@ st
ub RegOverridePredefKey
@ st
dcall RegOverridePredefKey(long long)
@ stdcall RegQueryInfoKeyA(long ptr ptr ptr ptr ptr ptr ptr ptr ptr ptr ptr)
@ stdcall RegQueryInfoKeyW(long ptr ptr ptr ptr ptr ptr ptr ptr ptr ptr ptr)
@ stdcall RegQueryMultipleValuesA(long ptr long ptr ptr)
...
...
dlls/advapi32/registry.c
View file @
df0f42fe
...
...
@@ -150,6 +150,32 @@ static inline HKEY get_special_root_hkey( HKEY hkey )
/******************************************************************************
* RegOverridePredefKey [ADVAPI32.@]
*/
LSTATUS
WINAPI
RegOverridePredefKey
(
HKEY
hkey
,
HKEY
override
)
{
HKEY
old_key
;
int
idx
;
if
((
hkey
<
HKEY_SPECIAL_ROOT_FIRST
)
||
(
hkey
>
HKEY_SPECIAL_ROOT_LAST
))
return
ERROR_INVALID_PARAMETER
;
idx
=
(
UINT_PTR
)
hkey
-
(
UINT_PTR
)
HKEY_SPECIAL_ROOT_FIRST
;
if
(
override
)
{
NTSTATUS
status
=
NtDuplicateObject
(
GetCurrentProcess
(),
override
,
GetCurrentProcess
(),
(
HANDLE
*
)
&
override
,
0
,
0
,
DUPLICATE_SAME_ACCESS
);
if
(
status
)
return
RtlNtStatusToDosError
(
status
);
}
old_key
=
InterlockedExchangePointer
(
(
void
**
)
&
special_root_keys
[
idx
],
override
);
if
(
old_key
)
NtClose
(
old_key
);
return
ERROR_SUCCESS
;
}
/******************************************************************************
* RegCreateKeyExW [ADVAPI32.@]
*
* See RegCreateKeyExA.
...
...
include/winreg.h
View file @
df0f42fe
...
...
@@ -143,6 +143,7 @@ WINADVAPI LSTATUS WINAPI RegOpenKeyExW(HKEY,LPCWSTR,DWORD,REGSAM,PHKEY);
WINADVAPI
LSTATUS
WINAPI
RegOpenKeyExA
(
HKEY
,
LPCSTR
,
DWORD
,
REGSAM
,
PHKEY
);
#define RegOpenKeyEx WINELIB_NAME_AW(RegOpenKeyEx)
WINADVAPI
LSTATUS
WINAPI
RegOpenUserClassesRoot
(
HANDLE
,
DWORD
,
REGSAM
,
PHKEY
);
WINADVAPI
LSTATUS
WINAPI
RegOverridePredefKey
(
HKEY
,
HKEY
);
WINADVAPI
LSTATUS
WINAPI
RegQueryInfoKeyW
(
HKEY
,
LPWSTR
,
LPDWORD
,
LPDWORD
,
LPDWORD
,
LPDWORD
,
LPDWORD
,
LPDWORD
,
LPDWORD
,
LPDWORD
,
LPDWORD
,
LPFILETIME
);
WINADVAPI
LSTATUS
WINAPI
RegQueryInfoKeyA
(
HKEY
,
LPSTR
,
LPDWORD
,
LPDWORD
,
LPDWORD
,
LPDWORD
,
LPDWORD
,
LPDWORD
,
LPDWORD
,
LPDWORD
,
LPDWORD
,
LPFILETIME
);
#define RegQueryInfoKey WINELIB_NAME_AW(RegQueryInfoKey)
...
...
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