Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-fonts
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
Aleksandr Isakov
wine-fonts
Commits
569c2794
Commit
569c2794
authored
Jul 07, 2022
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
server: Use standard named object functions for registry keys.
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
b79ff648
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
2 additions
and
34 deletions
+2
-34
om.c
dlls/ntdll/tests/om.c
+0
-4
reg.c
dlls/ntdll/tests/reg.c
+2
-30
registry.c
server/registry.c
+0
-0
No files found.
dlls/ntdll/tests/om.c
View file @
569c2794
...
...
@@ -1009,13 +1009,11 @@ static void test_name_limits(void)
status
=
pNtCreateKey
(
&
ret
,
GENERIC_ALL
,
&
attr
,
0
,
NULL
,
0
,
NULL
);
ok
(
status
==
STATUS_INVALID_PARAMETER
,
"%u: NtCreateKey failed %lx
\n
"
,
str
.
Length
,
status
);
status
=
pNtOpenKey
(
&
ret
,
GENERIC_ALL
,
&
attr
);
todo_wine
ok
(
status
==
STATUS_INVALID_PARAMETER
,
"%u: NtOpenKey failed %lx
\n
"
,
str
.
Length
,
status
);
str
.
Length
=
2000
;
status
=
pNtCreateKey
(
&
ret
,
GENERIC_ALL
,
&
attr
,
0
,
NULL
,
0
,
NULL
);
ok
(
status
==
STATUS_INVALID_PARAMETER
,
"%u: NtCreateKey failed %lx
\n
"
,
str
.
Length
,
status
);
status
=
pNtOpenKey
(
&
ret
,
GENERIC_ALL
,
&
attr
);
todo_wine
ok
(
status
==
STATUS_INVALID_PARAMETER
,
"%u: NtOpenKey failed %lx
\n
"
,
str
.
Length
,
status
);
/* some Windows versions change the error past 2050 chars, others past 4066 chars, some don't */
str
.
Length
=
5000
;
...
...
@@ -1026,7 +1024,6 @@ static void test_name_limits(void)
"%u: NtCreateKey failed %lx
\n
"
,
str
.
Length
,
status
);
ret
=
(
HANDLE
)
0xdeadbeef
;
status
=
pNtOpenKey
(
&
ret
,
GENERIC_ALL
,
&
attr
);
todo_wine
ok
(
status
==
STATUS_BUFFER_OVERFLOW
||
status
==
STATUS_BUFFER_TOO_SMALL
||
status
==
STATUS_INVALID_PARAMETER
,
...
...
@@ -1042,7 +1039,6 @@ static void test_name_limits(void)
ok
(
!
ret
,
"handle set %p
\n
"
,
ret
);
ret
=
(
HANDLE
)
0xdeadbeef
;
status
=
pNtOpenKey
(
&
ret
,
GENERIC_ALL
,
&
attr
);
todo_wine
ok
(
status
==
STATUS_OBJECT_NAME_INVALID
||
status
==
STATUS_BUFFER_OVERFLOW
||
status
==
STATUS_BUFFER_TOO_SMALL
,
...
...
dlls/ntdll/tests/reg.c
View file @
569c2794
...
...
@@ -382,8 +382,7 @@ static void test_NtOpenKey(void)
InitializeObjectAttributes
(
&
attr
,
&
str
,
0
,
0
,
0
);
key
=
(
HANDLE
)
0xdeadbeef
;
status
=
pNtOpenKey
(
&
key
,
KEY_READ
,
&
attr
);
todo_wine
ok
(
status
==
STATUS_OBJECT_PATH_SYNTAX_BAD
,
"NtOpenKey Failed: 0x%08lx
\n
"
,
status
);
todo_wine
ok
(
status
==
STATUS_OBJECT_PATH_SYNTAX_BAD
,
"NtOpenKey Failed: 0x%08lx
\n
"
,
status
);
ok
(
!
key
,
"key = %p
\n
"
,
key
);
pRtlFreeUnicodeString
(
&
str
);
...
...
@@ -402,25 +401,21 @@ static void test_NtOpenKey(void)
pRtlCreateUnicodeStringFromAsciiz
(
&
str
,
""
);
status
=
pNtOpenKey
(
&
key
,
KEY_READ
,
&
attr
);
todo_wine
ok
(
status
==
STATUS_OBJECT_PATH_SYNTAX_BAD
,
"NtOpenKey failed: 0x%08lx
\n
"
,
status
);
pRtlFreeUnicodeString
(
&
str
);
pRtlCreateUnicodeStringFromAsciiz
(
&
str
,
"
\\
"
);
status
=
pNtOpenKey
(
&
key
,
KEY_READ
,
&
attr
);
todo_wine
ok
(
status
==
STATUS_OBJECT_TYPE_MISMATCH
,
"NtOpenKey failed: 0x%08lx
\n
"
,
status
);
pRtlFreeUnicodeString
(
&
str
);
pRtlCreateUnicodeStringFromAsciiz
(
&
str
,
"
\\\\\\
"
);
status
=
pNtOpenKey
(
&
key
,
KEY_READ
,
&
attr
);
todo_wine
ok
(
status
==
STATUS_OBJECT_NAME_INVALID
,
"NtOpenKey failed: 0x%08lx
\n
"
,
status
);
pRtlFreeUnicodeString
(
&
str
);
pRtlCreateUnicodeStringFromAsciiz
(
&
str
,
"
\\
Registry"
);
status
=
pNtOpenKey
(
&
key
,
KEY_READ
,
&
attr
);
todo_wine
ok
(
status
==
STATUS_SUCCESS
,
"NtOpenKey failed: 0x%08lx
\n
"
,
status
);
pNtClose
(
key
);
pRtlFreeUnicodeString
(
&
str
);
...
...
@@ -433,38 +428,32 @@ static void test_NtOpenKey(void)
pRtlCreateUnicodeStringFromAsciiz
(
&
str
,
"
\\
Registry
\\\\
"
);
status
=
pNtOpenKey
(
&
key
,
KEY_READ
,
&
attr
);
todo_wine
ok
(
status
==
STATUS_SUCCESS
,
"NtOpenKey failed: 0x%08lx
\n
"
,
status
);
pNtClose
(
key
);
pRtlFreeUnicodeString
(
&
str
);
pRtlCreateUnicodeStringFromAsciiz
(
&
str
,
"
\\
Foobar"
);
status
=
pNtOpenKey
(
&
key
,
KEY_READ
,
&
attr
);
todo_wine
ok
(
status
==
STATUS_OBJECT_NAME_NOT_FOUND
,
"NtOpenKey failed: 0x%08lx
\n
"
,
status
);
pRtlFreeUnicodeString
(
&
str
);
pRtlCreateUnicodeStringFromAsciiz
(
&
str
,
"
\\
Foobar
\\
Machine"
);
status
=
pNtOpenKey
(
&
key
,
KEY_READ
,
&
attr
);
todo_wine
ok
(
status
==
STATUS_OBJECT_PATH_NOT_FOUND
,
"NtOpenKey failed: 0x%08lx
\n
"
,
status
);
pRtlFreeUnicodeString
(
&
str
);
pRtlCreateUnicodeStringFromAsciiz
(
&
str
,
"
\\
Machine
\\
Software
\\
Classes"
);
status
=
pNtOpenKey
(
&
key
,
KEY_READ
,
&
attr
);
todo_wine
ok
(
status
==
STATUS_OBJECT_PATH_NOT_FOUND
,
"NtOpenKey failed: 0x%08lx
\n
"
,
status
);
pRtlFreeUnicodeString
(
&
str
);
pRtlCreateUnicodeStringFromAsciiz
(
&
str
,
"Machine
\\
Software
\\
Classes"
);
status
=
pNtOpenKey
(
&
key
,
KEY_READ
,
&
attr
);
todo_wine
ok
(
status
==
STATUS_OBJECT_PATH_SYNTAX_BAD
,
"NtOpenKey failed: 0x%08lx
\n
"
,
status
);
pRtlFreeUnicodeString
(
&
str
);
pRtlCreateUnicodeStringFromAsciiz
(
&
str
,
"
\\
Device
\\
Null"
);
status
=
pNtOpenKey
(
&
key
,
KEY_READ
,
&
attr
);
todo_wine
ok
(
status
==
STATUS_OBJECT_TYPE_MISMATCH
,
"NtOpenKey failed: 0x%08lx
\n
"
,
status
);
pRtlFreeUnicodeString
(
&
str
);
...
...
@@ -608,13 +597,11 @@ static void test_NtCreateKey(void)
pRtlCreateUnicodeStringFromAsciiz
(
&
str
,
"
\\
"
);
status
=
pNtCreateKey
(
&
subkey
,
am
,
&
attr
,
0
,
0
,
0
,
0
);
todo_wine
ok
(
status
==
STATUS_OBJECT_TYPE_MISMATCH
,
"NtCreateKey failed: 0x%08lx
\n
"
,
status
);
pRtlFreeUnicodeString
(
&
str
);
pRtlCreateUnicodeStringFromAsciiz
(
&
str
,
"
\\
Registry"
);
status
=
pNtCreateKey
(
&
subkey
,
am
,
&
attr
,
0
,
0
,
0
,
0
);
todo_wine
ok
(
status
==
STATUS_SUCCESS
||
status
==
STATUS_ACCESS_DENIED
,
"NtCreateKey failed: 0x%08lx
\n
"
,
status
);
if
(
!
status
)
pNtClose
(
subkey
);
...
...
@@ -629,7 +616,6 @@ static void test_NtCreateKey(void)
pRtlCreateUnicodeStringFromAsciiz
(
&
str
,
"
\\
Registry
\\\\
"
);
status
=
pNtCreateKey
(
&
subkey
,
am
,
&
attr
,
0
,
0
,
0
,
0
);
todo_wine
ok
(
status
==
STATUS_SUCCESS
||
status
==
STATUS_ACCESS_DENIED
,
"NtCreateKey failed: 0x%08lx
\n
"
,
status
);
if
(
!
status
)
pNtClose
(
subkey
);
...
...
@@ -637,31 +623,26 @@ static void test_NtCreateKey(void)
pRtlCreateUnicodeStringFromAsciiz
(
&
str
,
"
\\
Foobar"
);
status
=
pNtCreateKey
(
&
subkey
,
am
,
&
attr
,
0
,
0
,
0
,
0
);
todo_wine
ok
(
status
==
STATUS_OBJECT_NAME_NOT_FOUND
,
"NtCreateKey failed: 0x%08lx
\n
"
,
status
);
pRtlFreeUnicodeString
(
&
str
);
pRtlCreateUnicodeStringFromAsciiz
(
&
str
,
"
\\
Foobar
\\
Machine"
);
status
=
pNtCreateKey
(
&
subkey
,
am
,
&
attr
,
0
,
0
,
0
,
0
);
todo_wine
ok
(
status
==
STATUS_OBJECT_PATH_NOT_FOUND
,
"NtCreateKey failed: 0x%08lx
\n
"
,
status
);
pRtlFreeUnicodeString
(
&
str
);
pRtlCreateUnicodeStringFromAsciiz
(
&
str
,
"
\\
Machine
\\
Software
\\
Classes"
);
status
=
pNtCreateKey
(
&
subkey
,
am
,
&
attr
,
0
,
0
,
0
,
0
);
todo_wine
ok
(
status
==
STATUS_OBJECT_PATH_NOT_FOUND
,
"NtCreateKey failed: 0x%08lx
\n
"
,
status
);
pRtlFreeUnicodeString
(
&
str
);
pRtlCreateUnicodeStringFromAsciiz
(
&
str
,
"Machine
\\
Software
\\
Classes"
);
status
=
pNtCreateKey
(
&
subkey
,
am
,
&
attr
,
0
,
0
,
0
,
0
);
todo_wine
ok
(
status
==
STATUS_OBJECT_PATH_SYNTAX_BAD
,
"NtCreateKey failed: 0x%08lx
\n
"
,
status
);
pRtlFreeUnicodeString
(
&
str
);
pRtlCreateUnicodeStringFromAsciiz
(
&
str
,
"
\\
Device
\\
Null"
);
status
=
pNtCreateKey
(
&
subkey
,
am
,
&
attr
,
0
,
0
,
0
,
0
);
todo_wine
ok
(
status
==
STATUS_OBJECT_TYPE_MISMATCH
,
"NtCreateKey failed: 0x%08lx
\n
"
,
status
);
pRtlFreeUnicodeString
(
&
str
);
...
...
@@ -1319,16 +1300,8 @@ static void test_symlinks(void)
ok
(
status
==
STATUS_OBJECT_NAME_NOT_FOUND
,
"NtOpenKey wrong status 0x%08lx
\n
"
,
status
);
status
=
pNtCreateKey
(
&
key
,
KEY_ALL_ACCESS
,
&
attr
,
0
,
0
,
0
,
0
);
todo_wine
ok
(
status
==
STATUS_SUCCESS
,
"NtCreateKey failed: 0x%08lx
\n
"
,
status
);
ok
(
status
==
STATUS_SUCCESS
,
"NtCreateKey failed: 0x%08lx
\n
"
,
status
);
pNtClose
(
key
);
if
(
status
)
/* can be removed once todo_wine above is fixed */
{
attr
.
ObjectName
=
&
target_str
;
attr
.
Attributes
=
OBJ_OPENLINK
;
status
=
pNtCreateKey
(
&
key
,
KEY_ALL_ACCESS
,
&
attr
,
0
,
0
,
0
,
0
);
ok
(
status
==
STATUS_SUCCESS
,
"NtCreateKey failed: 0x%08lx
\n
"
,
status
);
pNtClose
(
key
);
}
attr
.
ObjectName
=
&
target_str
;
attr
.
Attributes
=
OBJ_OPENLINK
;
...
...
@@ -1424,7 +1397,6 @@ static void test_symlinks(void)
ok
(
status
==
STATUS_SUCCESS
,
"NtSetValueKey failed: 0x%08lx
\n
"
,
status
);
status
=
pNtOpenKey
(
&
key
,
KEY_ALL_ACCESS
,
&
attr
);
todo_wine
ok
(
status
==
STATUS_NAME_TOO_LONG
||
status
==
STATUS_INVALID_PARAMETER
/* Win10 1607+ */
,
"NtOpenKey failed: 0x%08lx
\n
"
,
status
);
...
...
server/registry.c
View file @
569c2794
This diff is collapsed.
Click to expand it.
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