1
1
import sys
2
+ from _typeshed import ReadableBuffer , Unused
2
3
from types import TracebackType
3
- from typing import Any , Literal , final
4
+ from typing import Any , Final , Literal , final , overload
4
5
from typing_extensions import Self , TypeAlias
5
6
6
7
if sys .platform == "win32" :
@@ -24,12 +25,40 @@ if sys.platform == "win32":
24
25
def QueryValueEx (key : _KeyType , name : str , / ) -> tuple [Any , int ]: ...
25
26
def SaveKey (key : _KeyType , file_name : str , / ) -> None : ...
26
27
def SetValue (key : _KeyType , sub_key : str , type : int , value : str , / ) -> None : ...
28
+ @overload # type=REG_DWORD|REG_QWORD
27
29
def SetValueEx (
28
- key : _KeyType , value_name : str | None , reserved : Any , type : int , value : str | int , /
29
- ) -> None : ... # reserved is ignored
30
+ key : _KeyType , value_name : str | None , reserved : Unused , type : Literal [4 , 5 ], value : int | None , /
31
+ ) -> None : ...
32
+ @overload # type=REG_SZ|REG_EXPAND_SZ
33
+ def SetValueEx (
34
+ key : _KeyType , value_name : str | None , reserved : Unused , type : Literal [1 , 2 ], value : str | None , /
35
+ ) -> None : ...
36
+ @overload # type=REG_MULTI_SZ
37
+ def SetValueEx (
38
+ key : _KeyType , value_name : str | None , reserved : Unused , type : Literal [7 ], value : list [str ] | None , /
39
+ ) -> None : ...
40
+ @overload # type=REG_BINARY and everything else
41
+ def SetValueEx (
42
+ key : _KeyType ,
43
+ value_name : str | None ,
44
+ reserved : Unused ,
45
+ type : Literal [0 , 3 , 8 , 9 , 10 , 11 ],
46
+ value : ReadableBuffer | None ,
47
+ / ,
48
+ ) -> None : ...
49
+ @overload # Unknown or undocumented
50
+ def SetValueEx (
51
+ key : _KeyType ,
52
+ value_name : str | None ,
53
+ reserved : Unused ,
54
+ type : int ,
55
+ value : int | str | list [str ] | ReadableBuffer | None ,
56
+ / ,
57
+ ) -> None : ...
30
58
def DisableReflectionKey (key : _KeyType , / ) -> None : ...
31
59
def EnableReflectionKey (key : _KeyType , / ) -> None : ...
32
60
def QueryReflectionKey (key : _KeyType , / ) -> bool : ...
61
+
33
62
HKEY_CLASSES_ROOT : int
34
63
HKEY_CURRENT_USER : int
35
64
HKEY_LOCAL_MACHINE : int
@@ -38,52 +67,52 @@ if sys.platform == "win32":
38
67
HKEY_CURRENT_CONFIG : int
39
68
HKEY_DYN_DATA : int
40
69
41
- KEY_ALL_ACCESS : Literal [ 983103 ]
42
- KEY_WRITE : Literal [ 131078 ]
43
- KEY_READ : Literal [ 131097 ]
44
- KEY_EXECUTE : Literal [ 131097 ]
45
- KEY_QUERY_VALUE : Literal [ 1 ]
46
- KEY_SET_VALUE : Literal [ 2 ]
47
- KEY_CREATE_SUB_KEY : Literal [ 4 ]
48
- KEY_ENUMERATE_SUB_KEYS : Literal [ 8 ]
49
- KEY_NOTIFY : Literal [ 16 ]
50
- KEY_CREATE_LINK : Literal [ 32 ]
70
+ KEY_ALL_ACCESS : Final = 983103
71
+ KEY_WRITE : Final = 131078
72
+ KEY_READ : Final = 131097
73
+ KEY_EXECUTE : Final = 131097
74
+ KEY_QUERY_VALUE : Final = 1
75
+ KEY_SET_VALUE : Final = 2
76
+ KEY_CREATE_SUB_KEY : Final = 4
77
+ KEY_ENUMERATE_SUB_KEYS : Final = 8
78
+ KEY_NOTIFY : Final = 16
79
+ KEY_CREATE_LINK : Final = 32
51
80
52
- KEY_WOW64_64KEY : Literal [ 256 ]
53
- KEY_WOW64_32KEY : Literal [ 512 ]
81
+ KEY_WOW64_64KEY : Final = 256
82
+ KEY_WOW64_32KEY : Final = 512
54
83
55
- REG_BINARY : Literal [ 3 ]
56
- REG_DWORD : Literal [ 4 ]
57
- REG_DWORD_LITTLE_ENDIAN : Literal [ 4 ]
58
- REG_DWORD_BIG_ENDIAN : Literal [ 5 ]
59
- REG_EXPAND_SZ : Literal [ 2 ]
60
- REG_LINK : Literal [ 6 ]
61
- REG_MULTI_SZ : Literal [ 7 ]
62
- REG_NONE : Literal [ 0 ]
63
- REG_QWORD : Literal [ 11 ]
64
- REG_QWORD_LITTLE_ENDIAN : Literal [ 11 ]
65
- REG_RESOURCE_LIST : Literal [ 8 ]
66
- REG_FULL_RESOURCE_DESCRIPTOR : Literal [ 9 ]
67
- REG_RESOURCE_REQUIREMENTS_LIST : Literal [ 10 ]
68
- REG_SZ : Literal [ 1 ]
84
+ REG_BINARY : Final = 3
85
+ REG_DWORD : Final = 4
86
+ REG_DWORD_LITTLE_ENDIAN : Final = 4
87
+ REG_DWORD_BIG_ENDIAN : Final = 5
88
+ REG_EXPAND_SZ : Final = 2
89
+ REG_LINK : Final = 6
90
+ REG_MULTI_SZ : Final = 7
91
+ REG_NONE : Final = 0
92
+ REG_QWORD : Final = 11
93
+ REG_QWORD_LITTLE_ENDIAN : Final = 11
94
+ REG_RESOURCE_LIST : Final = 8
95
+ REG_FULL_RESOURCE_DESCRIPTOR : Final = 9
96
+ REG_RESOURCE_REQUIREMENTS_LIST : Final = 10
97
+ REG_SZ : Final = 1
69
98
70
- REG_CREATED_NEW_KEY : int # undocumented
71
- REG_LEGAL_CHANGE_FILTER : int # undocumented
72
- REG_LEGAL_OPTION : int # undocumented
73
- REG_NOTIFY_CHANGE_ATTRIBUTES : int # undocumented
74
- REG_NOTIFY_CHANGE_LAST_SET : int # undocumented
75
- REG_NOTIFY_CHANGE_NAME : int # undocumented
76
- REG_NOTIFY_CHANGE_SECURITY : int # undocumented
77
- REG_NO_LAZY_FLUSH : int # undocumented
78
- REG_OPENED_EXISTING_KEY : int # undocumented
79
- REG_OPTION_BACKUP_RESTORE : int # undocumented
80
- REG_OPTION_CREATE_LINK : int # undocumented
81
- REG_OPTION_NON_VOLATILE : int # undocumented
82
- REG_OPTION_OPEN_LINK : int # undocumented
83
- REG_OPTION_RESERVED : int # undocumented
84
- REG_OPTION_VOLATILE : int # undocumented
85
- REG_REFRESH_HIVE : int # undocumented
86
- REG_WHOLE_HIVE_VOLATILE : int # undocumented
99
+ REG_CREATED_NEW_KEY : Final = 1 # undocumented
100
+ REG_LEGAL_CHANGE_FILTER : Final = 268435471 # undocumented
101
+ REG_LEGAL_OPTION : Final = 31 # undocumented
102
+ REG_NOTIFY_CHANGE_ATTRIBUTES : Final = 2 # undocumented
103
+ REG_NOTIFY_CHANGE_LAST_SET : Final = 4 # undocumented
104
+ REG_NOTIFY_CHANGE_NAME : Final = 1 # undocumented
105
+ REG_NOTIFY_CHANGE_SECURITY : Final = 8 # undocumented
106
+ REG_NO_LAZY_FLUSH : Final = 4 # undocumented
107
+ REG_OPENED_EXISTING_KEY : Final = 2 # undocumented
108
+ REG_OPTION_BACKUP_RESTORE : Final = 4 # undocumented
109
+ REG_OPTION_CREATE_LINK : Final = 2 # undocumented
110
+ REG_OPTION_NON_VOLATILE : Final = 0 # undocumented
111
+ REG_OPTION_OPEN_LINK : Final = 8 # undocumented
112
+ REG_OPTION_RESERVED : Final = 0 # undocumented
113
+ REG_OPTION_VOLATILE : Final = 1 # undocumented
114
+ REG_REFRESH_HIVE : Final = 2 # undocumented
115
+ REG_WHOLE_HIVE_VOLATILE : Final = 1 # undocumented
87
116
88
117
error = OSError
89
118
0 commit comments