- New implementation of SendMessage, ReceiveMessage, ReplyMessage functions
[wine] / dlls / ntdll / reg.c
1 #include "windef.h"
2 #include "wintypes.h"
3 #include "winreg.h"
4 #include "ntdll.h"
5 #include "ntddk.h"
6
7 #include "debug.h"
8
9 /******************************************************************************
10  * NtCreateKey [NTDLL]
11  * ZwCreateKey
12  */
13 NTSTATUS WINAPI NtCreateKey(
14         PHANDLE KeyHandle,
15         ACCESS_MASK DesiredAccess,
16         POBJECT_ATTRIBUTES ObjectAttributes,
17         ULONG TitleIndex,
18         PUNICODE_STRING Class,
19         ULONG CreateOptions,
20         PULONG Disposition)
21 {
22         FIXME(ntdll,"(%p,0x%08lx,%p (%s),0x%08lx, %p(%s),0x%08lx,%p),stub!\n",
23         KeyHandle, DesiredAccess, ObjectAttributes,debugstr_w(ObjectAttributes->ObjectName->Buffer),
24         TitleIndex, Class, debugstr_w(Class->Buffer), CreateOptions, Disposition);
25         return 0;
26 }
27
28 /******************************************************************************
29  * NtDeleteKey [NTDLL]
30  * ZwDeleteKey
31  */
32 NTSTATUS NtDeleteKey(HANDLE32 KeyHandle)
33 {
34         FIXME(ntdll,"(0x%08x) stub!\n",
35         KeyHandle);
36         return 1;
37 }
38
39 /******************************************************************************
40  * NtDeleteValueKey [NTDLL]
41  * ZwDeleteValueKey
42  */
43 NTSTATUS WINAPI NtDeleteValueKey(
44         IN HANDLE32 KeyHandle,
45         IN PUNICODE_STRING ValueName)
46 {
47         FIXME(ntdll,"(0x%08x,%p(%s)) stub!\n",
48         KeyHandle, ValueName,debugstr_w(ValueName->Buffer));
49         return 1;
50
51 }
52 /******************************************************************************
53  * NtEnumerateKey [NTDLL]
54  * ZwEnumerateKey
55  */
56 NTSTATUS WINAPI NtEnumerateKey(
57         HANDLE32 KeyHandle,
58         ULONG Index,
59         KEY_INFORMATION_CLASS KeyInformationClass,
60         PVOID KeyInformation,
61         ULONG Length,
62         PULONG ResultLength)
63 {
64         FIXME(ntdll,"(0x%08x,0x%08lx,0x%08x,%p,0x%08lx,%p) stub\n",
65         KeyHandle, Index, KeyInformationClass, KeyInformation, Length, ResultLength);
66         return 1;
67 }
68
69 /******************************************************************************
70  *  NtEnumerateValueKey [NTDLL] 
71  *  ZwEnumerateValueKey
72  */
73 NTSTATUS WINAPI NtEnumerateValueKey(
74         HANDLE32 KeyHandle,
75         ULONG Index,
76         KEY_VALUE_INFORMATION_CLASS KeyInformationClass,
77         PVOID KeyInformation,
78         ULONG Length,
79         PULONG ResultLength)
80 {
81         FIXME(ntdll,"(0x%08x,0x%08lx,0x%08x,%p,0x%08lx,%p) stub!\n",
82         KeyHandle, Index, KeyInformationClass, KeyInformation, Length, ResultLength);
83         return 1;
84 }
85
86 /******************************************************************************
87  *  NtFlushKey  [NTDLL] 
88  *  ZwFlushKey
89  */
90 NTSTATUS NtFlushKey(HANDLE32 KeyHandle)
91 {
92         FIXME(ntdll,"(0x%08x) stub!\n",
93         KeyHandle);
94         return 1;
95 }
96
97 /******************************************************************************
98  *  NtLoadKey   [NTDLL] 
99  *  ZwLoadKey
100  */
101 NTSTATUS WINAPI NtLoadKey(
102         PHANDLE KeyHandle,
103         POBJECT_ATTRIBUTES ObjectAttributes)
104 {
105         FIXME(ntdll,"(%p,%p (%s)),stub!\n",
106         KeyHandle, ObjectAttributes,debugstr_w(ObjectAttributes->ObjectName->Buffer));
107         return 0;
108
109 }
110
111 /******************************************************************************
112  *  NtNotifyChangeKey   [NTDLL] 
113  *  ZwNotifyChangeKey
114  */
115 NTSTATUS WINAPI NtNotifyChangeKey(
116         IN HANDLE32 KeyHandle,
117         IN HANDLE32 Event,
118         IN PIO_APC_ROUTINE ApcRoutine OPTIONAL,
119         IN PVOID ApcContext OPTIONAL,
120         OUT PIO_STATUS_BLOCK IoStatusBlock,
121         IN ULONG CompletionFilter,
122         IN BOOLEAN Asynchroneous,
123         OUT PVOID ChangeBuffer,
124         IN ULONG Length,
125         IN BOOLEAN WatchSubtree)
126 {
127         FIXME(ntdll,"(0x%08x,0x%08x,%p,%p,%p,0x%08lx, 0x%08x,%p,0x%08lx,0x%08x) stub!\n",
128         KeyHandle, Event, ApcRoutine, ApcContext, IoStatusBlock, CompletionFilter,
129         Asynchroneous, ChangeBuffer, Length, WatchSubtree);
130         return 0;
131 }
132
133
134 /******************************************************************************
135  * NtOpenKey [NTDLL.129]
136  * ZwOpenKey
137  *   OUT        PHANDLE                 KeyHandle,
138  *   IN         ACCESS_MASK             DesiredAccess,
139  *   IN         POBJECT_ATTRIBUTES      ObjectAttributes 
140  */
141 NTSTATUS WINAPI NtOpenKey(
142         PHANDLE KeyHandle,
143         ACCESS_MASK DesiredAccess,
144         POBJECT_ATTRIBUTES ObjectAttributes) 
145 {
146         FIXME(ntdll,"(%p,0x%08lx,%p (%s)),stub!\n",
147         KeyHandle, DesiredAccess, ObjectAttributes,debugstr_w(ObjectAttributes->ObjectName->Buffer));
148         return 0;
149 }
150
151 /******************************************************************************
152  * NtQueryKey [NTDLL]
153  * ZwQueryKey
154  */
155 NTSTATUS WINAPI NtQueryKey(
156         HANDLE32 KeyHandle,
157         KEY_INFORMATION_CLASS KeyInformationClass,
158         PVOID KeyInformation,
159         ULONG Length,
160         PULONG ResultLength)
161 {
162         FIXME(ntdll,"(0x%08x,0x%08x,%p,0x%08lx,%p) stub\n",
163         KeyHandle, KeyInformationClass, KeyInformation, Length, ResultLength);
164         return 0;
165 }
166
167 /******************************************************************************
168  * NtQueryMultipleValueKey [NTDLL]
169  * ZwQueryMultipleValueKey
170  */
171
172 NTSTATUS WINAPI NtQueryMultipleValueKey(
173         HANDLE32 KeyHandle,
174         PVALENTW ListOfValuesToQuery,
175         ULONG NumberOfItems,
176         PVOID MultipleValueInformation,
177         ULONG Length,
178         PULONG  ReturnLength)
179 {
180         FIXME(ntdll,"(0x%08x,%p,0x%08lx,%p,0x%08lx,%p) stub!\n",
181         KeyHandle, ListOfValuesToQuery, NumberOfItems, MultipleValueInformation,
182         Length,ReturnLength);
183         return 0;
184 }
185
186 /******************************************************************************
187  * NtQueryValueKey [NTDLL]
188  * ZwQueryValueKey
189  */
190 NTSTATUS WINAPI NtQueryValueKey(
191         HANDLE32 KeyHandle,
192         PUNICODE_STRING ValueName,
193         KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass,
194         PVOID KeyValueInformation,
195         ULONG Length,
196         PULONG ResultLength)
197 {
198         FIXME(ntdll,"(0x%08x,%p,0x%08x,%p,0x%08lx,%p) stub\n",
199         KeyHandle, ValueName, KeyValueInformationClass, KeyValueInformation, Length, ResultLength);
200         return 0;
201 }
202
203 /******************************************************************************
204  * NtReplaceKey [NTDLL]
205  * ZwReplaceKey
206  */
207 NTSTATUS WINAPI NtReplaceKey(
208         IN POBJECT_ATTRIBUTES ObjectAttributes,
209         IN HANDLE32 Key,
210         IN POBJECT_ATTRIBUTES ReplacedObjectAttributes)
211 {
212         FIXME(ntdll,"(%p(%s),0x%08x,%p (%s)),stub!\n",
213         ObjectAttributes,debugstr_w(ObjectAttributes->ObjectName->Buffer),Key,
214         ReplacedObjectAttributes,debugstr_w(ReplacedObjectAttributes->ObjectName->Buffer));
215         return 0;
216
217 }
218 /******************************************************************************
219  * NtRestoreKey [NTDLL]
220  * ZwRestoreKey
221  */
222 NTSTATUS WINAPI NtRestoreKey(
223         HANDLE32 KeyHandle,
224         HANDLE32 FileHandle,
225         ULONG RestoreFlags)
226 {
227         FIXME(ntdll,"(0x%08x,0x%08x,0x%08lx) stub\n",
228         KeyHandle, FileHandle, RestoreFlags);
229         return 0;
230
231 }
232 /******************************************************************************
233  * NtSaveKey [NTDLL]
234  * ZwSaveKey
235  */
236 NTSTATUS WINAPI NtSaveKey(
237         IN HANDLE32 KeyHandle,
238         IN HANDLE32 FileHandle)
239 {
240         FIXME(ntdll,"(0x%08x,0x%08x) stub\n",
241         KeyHandle, FileHandle);
242         return 0;
243 }
244 /******************************************************************************
245  * NtSetInformationKey [NTDLL]
246  * ZwSetInformationKey
247  */
248 NTSTATUS WINAPI NtSetInformationKey(
249         IN HANDLE32 KeyHandle,
250         IN const int KeyInformationClass,
251         IN PVOID KeyInformation,
252         IN ULONG KeyInformationLength)
253 {
254         FIXME(ntdll,"(0x%08x,0x%08x,%p,0x%08lx) stub\n",
255         KeyHandle, KeyInformationClass, KeyInformation, KeyInformationLength);
256         return 0;
257 }
258 /******************************************************************************
259  * NtSetValueKey [NTDLL]
260  * ZwSetValueKey
261  */
262 NTSTATUS WINAPI NtSetValueKey(
263         HANDLE32 KeyHandle,
264         PUNICODE_STRING ValueName,
265         ULONG TitleIndex,
266         ULONG Type,
267         PVOID Data,
268         ULONG DataSize)
269 {
270         FIXME(ntdll,"(0x%08x,%p(%s), 0x%08lx, 0x%08lx, %p, 0x%08lx) stub!\n",
271         KeyHandle, ValueName,debugstr_w(ValueName->Buffer), TitleIndex, Type, Data, DataSize);
272         return 1;
273
274 }
275
276 /******************************************************************************
277  * NtUnloadKey [NTDLL]
278  * ZwUnloadKey
279  */
280 NTSTATUS WINAPI NtUnloadKey(
281         IN HANDLE32 KeyHandle)
282 {
283         FIXME(ntdll,"(0x%08x) stub\n",
284         KeyHandle);
285         return 0;
286 }